Skip to main content



Lorsque le téléphone mobile est rapide, le logiciel de gestion a tendance à nous rappeler de désactiver certaines consommations d'énergie. Application élevée. On peut voir qu'en plus des fabricants de matériel, les fournisseurs de logiciels doivent également faire attention à la consommation d'énergie. Dans cet article, les chercheurs analysent la consommation d'énergie comparant différentes langages de programmation.

Lorsque la consommation d'énergie est devenue un indicateur important, comment choisissons-nous un langage de programmation? En 2017, l'équipe composée de six chercheurs portugais a décidé d'enquêter sur cette question et de publier un article intitulé «Energy efficacement sur les langages de programmation». Ils ont écrit 10 problèmes avec 27 langues (suivi du même algorithme), puis en exécutant ces programmes, enregistré la quantité d'énergie consommée par chaque langue de programmation et utilisation de la vitesse et de la mémoire, les résultats des résultats de la commande sont indiqués ci-dessous:



Par cette étude, ils ont des conclusions intéressantes, telles que la langue des vitesses de fonctionnement qui ne sont pas nécessairement petites.

Dans l'article, l'auteur utilise également un type exécutable (traduction, machine virtuelle ou interprétation) et modèle de programmation (commande, fonction ou orientation d'objet et ordre d'épisode) en fonction des langages de programmation. Les résultats ont été analysés.


Spécifiquement, les chercheurs utilisent des jeux de référence en langage informatique (un logiciel libre pour avoir une performance comparative, contenant un ensemble d'algorithmes standard de problèmes et sont utilisés pour 10 problèmes de cadre de fonctionnement faire des recherches et des représentants plus comparatifs.

Il est important d'exécuter des tests de référence différents, car leurs résultats sont différents des tests effectués. Par exemple, en général, la langue C est considérée comme le plus rapide et le plus économie d'énergie. Cependant, dans les tests de référence de test liés à une séquence de gènes spécifiqueDans la base de données d'analyse ADN, la rouille est la plus grande économie d'énergie et la langue C est classée troisième.

Même dans le même test, le meilleur "langage" dépend de vos normes. Par exemple, dans la deuxième coque, le test de rangée rouille d'abord, si le résultat est trié par une utilisation de la mémoire, la rouille tombera à partir de 9 chiffres. Dans le deuxième test d'efficacité énergétique de Fortran le plus élevé, si les résultats sont disposés à temps, il réduit également 6 chiffres.


Les chercheurs ont montré qu'ils se conformaient strictement au projet du club sur les instructions des versions du compilateur et des signes d'optimisation optimaux. La consommation d'énergie utilise un outil de la limite d'énergie moyenne d'Intel-Runs 10 fois par programme. Les auteurs ont déclaré: "Il s'agit de réduire l'impact des effets de démarrage et de cache à froid et peut analyser la cohérence des mesures, éviter les valeurs d'exception."


pour améliorer la cohérence, tousLes tests sont en cours d'exécution sur le serveur Ubuntu de bureau 16.10 (version nucléaire 4.8.0-22-générique).

1. La vitesse de la langue fonctionnant plus rapidement, plus d'efficacité énergétique?


Cet article est soigneusement étudié une hypothèse universelle: la vitesse est moins plus rapide, la puissance diminue moins de moins. Les chercheurs montrent que ce n'est pas aussi simple que la loi physique E (nergy) = t (IME) x p (hibou). En effet, la puissance ne consomme pas à un certain ratio. Dans une étude d'autres chercheurs, un programme de chapelle fonctionne moins de 55% par rapport à un autre programme équivalent écrit par Pascal, mais les résultats de mesure montrent que l'énergie est utilisée par le programme Pascal est inférieure à 10%.

Par conséquent, bien que le processus soit souvent considéré comme plus rapide, les chercheurs ont refusé, mais les chercheurs précisent que "une langue plus rapide n'est pas toujours une qualité énergétique plus de qualité"

peut être un problème difficileRéponse, car la consommation d'électricité est affectée par de nombreux facteurs (y compris la qualité du compilateur et la bibliothèque utilisée). Mais à la fin, les chercheurs ont été résumés, qu'il s'agisse d'une langue synthétique, d'une langue d'interprétation ou d'une machine virtuelle, la plupart des énergies (moyen 88%) ont été consommées par la CPU.

Après avoir analysé les résultats expérimentaux, les chercheurs ont conclu que l'utilisation des pics des drames et de la consommation d'énergie "presque pas de relation". La recherche fournit une réponse à un problème à long terme: "Est-ce plus respectueux de l'environnement?" Et l'écart dans l'énergie et la valeur temporelle est faible.
En fait, dans 10 problèmes de référence, 9 points sont les plus élevés (à la fois de l'efficacité énergétique et de la vitesse) sont l'une des trois meilleures efficacité et efficacité énergétique. Sans surprise, les chercheurs ont été surpris. Comme nous le savons, comme les données de l'étude, les trois langues les plus élémentaires de C, C ++ et RUST a été optimisé et il est plus efficace dans la performance de la performance.

Cependant, lors de l'exécution de 24 autres langues, la situation est différente. Seules quatre langues maintiennent la consommation d'énergie et les notes d'énergie similaires (OCAML, HASKEL, RAQUETTES ET PYTHON) et d'autres langues sont complètement dispersées.

Même dans un seul test de référence, il y a aussi une langue rapide mais ne économise pas de l'énergie.
Deuxièmement, les avantages du langage de synthèse


Le langage des compilateurs semble être la plus grande économie d'énergie et la langue la plus rapide, les poux d'auteur peuvent utiliser des chiffres dans ce dosage quantification papier.

Moyenne, la langue de traduction nécessitait 120j Energy pour exécuter la solution et le type de machine virtuelle et le type de traducteur dépensera respectivement 576 et 2365J.
Lorsque l'heure de comparaison, les chercheurs ont également appliqué la même précision, la conclusion est la suivante: moyenne, la langue a été traduite en 5103 millisecondes,La langue de la machine virtuelle coûte 20623 millisecondes, expliquant la perte de 87614 millisecondes.

Les 4 meilleurs dans les deux classements sont une langue synthétique (avec une exception, une langue Java).


5 Langue linguistique Langue d'interprétation: Lua, Python, Perl, Rubis et Premon. Cinq types de consommation d'énergie sont également expliqués de langues: Perl, Python, Ruby, Jruby et Lua.


Mais dans le même temps, trois des cinq langages de sauvegarde la plus énergétique utilisés dans l'utilisation d'expressions conventionnelles (Typecript, JavaScript et PHP) sont interprétées. Bien que dans d'autres cas, ils ne sont souvent pas très économes en énergie.
Le langage synthétique représente également les 5 meilleurs dans le classement de la mémoire au moins.

Les chercheurs ont déclaré: "Moyenne, la langue de traduction nécessite 125 Mo, la langue de la machine virtuelle nécessite 285 Mo et la langue est nécessaire à 426 Mo." Plus précisément, il y a 4 langues expliquées dans ce classement, cetteCela signifie qu'ils consomment le plus d'espace mémoire.

"Si vous êtes organisé en fonction de leur modèle de programmation, le langage de commande nécessite une langue de 116 Mo et une langue orientée objet requise 249 Mo, le langage de programmation fonctionnel est de 251 Mo et le script nécessite 421 Mo."

En fait, lors de la comparaison de différents modèles, les commandes des programmeurs sont généralement en premier lieu. Orienté objet, la fonction de base du modèle de script est beaucoup moins d'énergie que le programme de référence de la programmation de commande et de la vitesse plus rapide.

Cependant, de nombreux facteurs doivent être pris en compte. Les chercheurs disent que "il est clair, différents modèles de programmation, et même des langues dans le même modèle de consommation d'énergie, de temps et de mémoire sont complètement différentes." Cependant, quels facteurs sont les plus importants pour dépendre de vos propres besoins (par exemple, la tâche de fond ne nécessite pas toujours le temps d'exécution le plus rapide).

Certaines applications doivent considérer deuxFacteurs, tels que la consommation d'énergie et le temps d'exécution.Les chercheurs ont déclaré: "Dans ce cas, c langue est la meilleure solution car elle est très pratique dans ces deux aspects."Si vous souhaitez gagner du temps lorsque vous conservez la mémoire, la langue C, le langage Pascal et la langue peuvent être.Si vous observez 3 variables (temps, consommation d'énergie et utilisation de la mémoire), la conclusion est la même.Toutefois, si vous souhaitez simplement économiser de l'énergie tout en utilisant moins de mémoire, la meilleure option est la langue C ou Pascal.

Sujets

Catégories