Machine learning algorithms are generally time consuming specially the training part. However, some applications need the training to be done in real time.
There is a variety of machine learning algorithms that are commonly used by the academic community as a benchmark for assessing performance. On the top of the list comes k-Nearest Neighbourhood (k--NN), Support Vector Machine (SVM), and Decision Trees (DT). These algorithms are based on explicit and well-defined known features.
On the other hand, a more sophisticated approach would be to adopt deep learning using Convolutional Neural Network (CNN) which is based on extracted features that are implicit and embedded.
This may vary depending on the size of the data and the number of features the problem contains. There is no single correct answer. It can be found by trying. But the real question is: accuracy or speed, which one is more important?