Key points are not available for this paper at this time.
La croissance rapide de l'Internet des Objets (IoT) et de ses applications nécessite des solutions à haute efficacité computationnelle, à faible coût et à faible consommation d'énergie pour divers appareils IoT. Cela inclut une large gamme de microcontrôleurs utilisés pour collecter, traiter et transmettre des données IoT. L'ESP32 est un microcontrôleur avec connectivité sans fil intégrée, adapté à diverses applications IoT. La puce ESP32 gagne en popularité, tant dans le milieu académique que dans la communauté des développeurs, soutenue par un certain nombre de bibliothèques logicielles et de langages de programmation. Bien que les langages de bas et de moyen niveau, tels que C/C++ et Rust, soient considérés comme les plus efficaces, TinyGo et MicroPython sont des langages de faible complexité plus conviviaux pour les développeurs, adaptés aux débutants et permettant un codage plus rapide. Cet article évalue l'efficacité des langages de programmation disponibles pour l'ESP32, à savoir C/C++, MicroPython, Rust et TinyGo, en comparant leurs performances d'exécution. Plusieurs algorithmes populaires de traitement de données et de signaux ont été implémentés dans ces langages, et leurs temps d'exécution ont été comparés : Transformée de Fourier Rapide (FFT), Vérification de Redondance Cyclique (CRC), Algorithme de Hachage Sécurisé (SHA), Réponse Impulsionnelle Infinie (IIR) et filtres de Réponse Impulsionnelle Fini (FIR). Les résultats montrent que les implémentations en C/C++ étaient les plus rapides dans la plupart des cas, suivies de près par TinyGo et Rust, tandis que les programmes MicroPython étaient plusieurs fois plus lents que les implémentations dans d'autres langages de programmation. Par conséquent, les langages C/C++, TinyGo et Rust sont plus adaptés lorsque le temps d'exécution et de réponse sont des facteurs clés, tandis que Python peut être utilisé pour des exigences système moins strictes, permettant un processus de développement plus rapide et moins compliqué.
Plauska et al. (Mercredi) ont étudié cette question.