La planète chauffe.
Comment pouvons-nous justifier nos efforts dans les logiciels libres?
La terre brûle.
Comment est-ce que les logiciels libres peuvent nous aider à la sauver?
Car oui, l'informatique nous coûte, en électricité bien sûr. Toutes ces centrales qui fonctionnent pour faire tourner nos programmes, alimenter nos smartphones et nous permettre de nous distraire à tout moment.
Et tous ces programmes, jolis et bien tournés, bourrés de publicités et de traqueurs cachés, parfois même chargés de virus et autres fonctions, ils nous sont survendus à coup de publicités/annonces, d'abonnements, d'offres groupées, de forfaits. Parfois, les logiciels "gratuitement" pré-installés ne peuvent même pas être supprimés!!!
A la place, nous travaillons à un tout autre écosystème. Plus ancien et plus artisanal, plus agile et pérenne et au cœur du fonctionnement d'internet: les Logiciels Libres!
Car ils sont souvent issus de besoins concrets et implémentés par des développeurs pour leurs propres usages. Ainsi on obtient des jeux parfois moins jolis et moins faciles à prendre en mains, mais très jouables et impliquant leurs utilisateurs. Et puis bien sûr pas, ou en tous cas moins, de publicité, de marketing, de traqueurs, d'abonnements, d'installations forcées. La pression pour intégrer des fonctionnalités parasites est bien moins forte!
Les logiciels libres ont même souvent été moqués pour leur austérité! On peut les comparer à des légumes vendus avec de la terre autour, et présentés depuis leurs cartons utilisés pour leur de transport! Cette image n'est pas idéale et ne plaira pas à tout le monde, elle rapproche tout un pan de ce monde à un grand bazar. L'autre pan est lui comparé à une cathédrale. C'est un monde très varié! :-)
Passons à la partie "dure". Il y a plus important que l'électricité: les ressources.
C’est-à-dire la matière physique qui constitue nos boites d'électronique: nos ordinateurs, nos box internet, téléphones portables, tablettes, montres, nos serveurs et data-center. Des briques de légos qui s'interconnectent et fonctionnent comme un ensemble qui fait le tour de la planète.
A la différence des légos, nos boites sont le résultat d'une chaîne de fabrication terriblement complexe, et mondiale!
Du sable pour les micro processeurs, des métaux pour les circuits et les batteries, des résines et des plastiques, des terres dites rares, des colles et toutes sortes de produits chimiques très agressifs et des procédés d'extraction et de fabrication terriblement complexes nécessitant beaucoup d'énergie.
À tel point que des guerres sont envisagées pour contrôler les machines et les usines, pour prendre la main sur les mines. Un peu comme pour le pétrole ou certaines pierres précieuses.
Et donc, je propose que vous arrêtiez d'acheter et d'utiliser tous ces outils. La planète vous en remerciera, faites un effort pour elle⸮
Par contre moi, je ne suis pas prêt, je leur suis trop attaché. Je les cajole et les bidouille en permanence, je les considère comme des bijoux avec une grande valeur affective!
Mais je me bats, contre le temps. Car avec les années, ces bijoux de technologie perdent en efficacité et utilité, parfois même ils ralentissent ou arrêtent de fonctionner, ils ont une date d'expiration! Et ça c'est la dernière étape avant la poubelle et la grande ferme au bout du chemin: le recyclage. Car oui, le recyclage des appareils électroniques c'est souvent une pile d'ordures dans un pays pauvre, on essaye d'y croire, mais on sait au fond de nous que c'est juste un gigantesque gâchis, un poison.
Et donc il faut sauver nos joujoux!
C'est là qu'interviennent les logiciels libres, ils sont l'ultime parade contre l'obsolescence! Si on a la volonté, on a la possibilité technique et légale de leur redonner vie. Un ordinateur un peu ancien qui ne supporterait pas les dernières versions des systèmes d'exploitation privateurs? Un téléphone pour lequel il n'y a plus de mises à jour de sécurité? Une tablette trop lente qui accumule la poussière dans un coin?
Si vous savez faire, que vous avez le temps et le goût à cela, vous pouvez tout rénover en mettant le système à jour, en le sécurisant, avec une distribution de logiciels libres prévus pour votre joli bijou!
Si vous avez besoin d'aide, et bien vous n'êtes pas seul, allez sur l'Agenda du Libre et trouvez un groupe d'utilisataires de logiciels libres autour de chez vous, ils organisent souvent ce qu'on appelle des "install parties", et sans garantie, mais il est fort probable qu'ils ressuscitent ce qui sinon aurait été juste un tas de ressources assemblées dans une forme plus ou moins complexe et à peine plus utile qu'un tas de cailloux…
En conclusion: cailloux, joujoux, bijoux!
# Je ne suis pas sûr que les logiiels libres soient moins consommateurs de ressources CPU/Mémouire.
Posté par totof2000 . Évalué à 7.
Depuis un bon moment, je vois apparaître de plus en plus de logiciels qui traditionnellement étaient écrits en C, mais qui sont de plus en plus écrits en Python, et qui bouffent je ne sais combien de ressources CPU lorsqu'ils se réveillent.
Par exemple, l'outil de vérification des mises à jours sous Ubuntu, que je désactiove systématiquement (mais qui est malhereusement réactivé aussi régulièrement à mon insu) qui peut prendre 100% de CPU pour rien pendant un bon moment … et ce n'est qu'un exemple.
Alors, certes, l'aspect pub qui tourne en tache de fond pèse peut-être dans la balance, mais de ce que je vois, l'optimisation des ressources CPU-Ram-stockage utilisé par un logiciel libre n'est aue rarement pris en compte. Il y a encore beaucoup de travail à faire de ce côté.
[^] # Rien à faire de la consommation
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
D'un autre côté, si je devais choisir entre C et Python, mon choix est vite fait, c'est python: un tas de bibliothèques, pas de bogues de gestion de mémoire… Mon développement va être mille fois plus rapide, et mon logiciel moins bogué.
Je fais pas de l'embarqué, je fais du logiciel qui doit être publié rapidement et j'ai pas que ça à faire…
[^] # Re: Rien à faire de la consommation
Posté par totof2000 . Évalué à 10.
C'est un peu ce genre de mentalité que je déplore. Attention, je ne dis pas non plus que tout doit être écrit en C ou en assembleur. Je trouve seulement qu'aujourd'hui on ne se pose pas vraiment de questions sur les ressources utilisées par les logiciels que l'on écrit, tant dans le libre que dans le monde proprio, et que malhereusement, à cause de ça on se retrouve avec des besoins de plus en plus énormes pour faire démarrer une machine avec juste un système d'exploitation et une ou deux applis basiques.
Ce genre de réflexion me rend pessimiste par rapport à l'utilisation de langage comme Rust, qui permettent de réduire les bugs liés aux allocations de mémoire mais qui, d'un autre côté, ont une courbe d'apprentissage bien plus raide que le C par exemple.
En fait, tant dans le libre que dans le proprio, on trouve le même état d'esprit: "vite fait, peu importe si c'est bien fait ou mal fait". Peut-être un peu moins prononcé dans le libre, mais c'est là quand même.
[^] # Re: Rien à faire de la consommation
Posté par Pinaraf . Évalué à 9.
Enfin entre C et Python… y'a quand même tout un monde.
Selon les besoins, on peut parler de Java/.Net, de C++ (je sais c'est pas "memory safe", mais en suivant certaines règles on élimine pas mal de problèmes), de Rust… Note que même PHP a souvent des meilleures performances que Python. (Yay au projet "Faster CPython", il était plus que temps, mais boudiou y'a du retard…)
[^] # Re: Rien à faire de la consommation
Posté par Thomas Douillard . Évalué à 6.
Ou du Julia par exemple, qui mélange des caractéristiques de langages compilés et de langages "de script" : https://julialang.org/
[^] # Re: Rien à faire de la consommation
Posté par flagos . Évalué à 0.
Sur un bench a base de for loop ?
[^] # Re: Rien à faire de la consommation
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 3.
Ce n'est pas nouveau. N’hésite pas à regarder les sources.
https://benhoyt.com/writings/count-words/
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/php-python3.html
quelques autres mais pas PHP
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiiels libres soient moins consommateurs
Posté par echarp (site web personnel, Mastodon) . Évalué à 6.
C'est compliqué, il y a aussi un calcul entre le temps de développement et le temps d'utilisation.
L'équilibre est difficile à envisager, surtout à l'avance! :)
[^] # Re: Je ne suis pas sûr que les logiiels libres soient moins consommateurs
Posté par Frédéric Heulin . Évalué à 2.
D'où l'intérêt de le faire de manière itérative, c'est le modèle que j'utilise pour les outils/scripts sensés me faire gagner du temps au quotidien. On ajoute juste qu'il y a besoin (en essayant de garder l'architecture générale propre bien sur).
[^] # Re: Je ne suis pas sûr que les logiciel libres soient moins consommateurs de ressources CPU/Mémoire.
Posté par Jérôme Flesch (site web personnel) . Évalué à 10.
Parfois, c'est juste ça ou rien. Surtout dans le monde du logiciel libres où beaucoup de monde est bénévole.
Pour prendre un exemple: mon projet perso est écrit à >90% en Python. Il y a juste deux librairies en C (dont une parce-qu'il s'agit d'algos de traitement d'images, et donc l'écrire en Python aurait été un crime contre l'Humanité). Je n'aurai jamais pu écrire ce projet intégralement en C. Je n'ai juste pas le temps ni la motivation pour ça.
[^] # Re: Je ne suis pas sûr que les logiciel libres soient moins consommateurs de ressources CPU/Mémoire.
Posté par greendev . Évalué à -2.
Python c'est bien pour du prototypage ou dans la R&D. Pour de l'analyse numérique par exemple, grâce à Numpy on a les perfs du C mais ça demande de coder comme il faut (curieusement un background mathématique sera avantageux sur l'informaticien pur et dur).
Il est relativement facile de créer des modules C (j'ai même fait du Fortran pour compléter Numpy). Cela ouvre la voie à une stratégie mixte très pertinente.
C'est plus un problème lorsque du code interprété se généralise à une large audience.
[^] # Re: Je ne suis pas sûr que les logiiels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 5. Dernière modification le 27 septembre 2023 à 18:02.
Rien que pour le premier paragraphe, il y en a qui poussent encore plus loin avec leurs application en electron (merci la novlang, le plus que macroscopique est devenu gigantesque et le plus que léger est devenu d'un pesant) ; parait que c’est ça le progrès en marche.
Quoi, ce n’est pas encore vendredi ? Pas grave, faites chauffer les commentaires.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiiels libres soient ...
Posté par Yth (Mastodon) . Évalué à 7. Dernière modification le 28 septembre 2023 à 08:33.
Après, c'est aussi possible d'écrire du code propre en python, qui ne va pas bouffer 100% du CPU et être efficace.
Côté perfs, ya aussi moyen d'utiliser PyPy, qui peut booster la vitesse de façon impressionnante.
C'est pas intrinsèque au langage de bouffer ton CPU, c'est intrinsèque à l'application en question, et ils auraient pu faire pareil en assembleur, quitte à coder avec les orteils.
[^] # Re: Je ne suis pas sûr que les logiiels libres soient ...
Posté par totof2000 . Évalué à 4.
Je pense que c'est un des problèmes pour beaucoup de logiciels écrits en python: les gens qui codent dans ce langage ne sont pas forcément toujours des gens dont coder est le métier, et on a parfoius du code assez curieux dans le meilleur des cas, et bien souvent difficilement maintenables (j'ai vu des trucs assez affreux dans mon job ). C'est pour ça que parfois je surnomme Python comme le "vb ou vba du libre". Mais ce n'est pas la seule raison. Et python n'est pas le seul langage qui pose problème, je le citais juste parce que c'est un exemple de problème que je rencontre régulièrement. Mais on trouve un tas d'applis qui sont écrit dans un langage - ou je devrais plutôt dire un environnement d'exécution (parce qu'il n'y a pas que le langage) qui n'est pas forcément le meilleur à utiliser d'un point de vue d'occupation des ressources, parfois parce que le déveoppeur code avec ce qu'il connaît.
Par exemple je me souviens d'une présentation il y a quelques années, d'une refonte d'un logiciel écrit initialement en Python par un alternant il me semble, logiciel chargé d'envoyer de la pub en temps réel sur des applis mobiles je crois. Ce logiciel devenait de plus en plus lent et difficile à maintenir. Le fait de le réécrire en Erlang a permis de réduire considérablement les ressources matérielles utilisées et il a été plus facile de répondre aux contraintes temps réel plus efficacement. Erlang était le langage/framework le plus adapté aux besoins et contraintes de l'application en question. Mais le gars qui l'avait développé en Python l'a fait parce qu'il ne connaissait rien d'autre.
[^] # Re: Je ne suis pas sûr que les logiiels libres soient ...
Posté par totof2000 . Évalué à 3.
J'ai retrouvé le support
[^] # Re: Je ne suis pas sûr que les logiiels libres soient ...
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Le pire c'est que cela aurait pu se faire en Python en réécrivant proprement (et efficacement ?) ou un autre langage de la liste.
Non, le pire 2 pire, c'est l'idée même d'un adserver : ce n'est pas parce-que de la bouse est ramassé avec du papier alu que ça en fait du chocolat. sorry
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiiels libres soient ...
Posté par Maderios . Évalué à 2.
En tous cas, cela ne concerne pas Calibre qui, surtout depuis la sortie de Python 3.11, démarre bien plus rapidement et en utilisant peu de cpu.
[^] # Je ne suis pas sûr que les logiiels libres soient moins consommateurs de ressources CPU/Mémouire.
Posté par karteum59 . Évalué à 4.
Je ne pense pas que mes softs en Python/numpy/geopandas soient tellement plus consommateurs de ressources que la même chose écrite en C (le Python est essentiellement un wrapper autour de libs elles-mêmes écrites en C/C++…)
Tu aurais pris un meilleur exemple en parlant du web ou d'Electron ou de ces articles…
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 3.
cadeau bonus … ;)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par karteum59 . Évalué à 3.
Mouais bof, je ne suis pas spécialement convaincu par ce tableau ni par la méthodologie (et apparemment je ne suis pas le seul quand on regarde les commentaires). Pour les cas que je connais, je suis en particulier sceptique sur
De plus, tout dépend de la manière dont on code. Le C avec GObject est-il un modèle de légèreté/concision/sobriété ? (je ne devrais pas trop juger car je ne connais pas bien, mais à l'époque où j'ai regardé je n'ai pas du tout aimé…)
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Les détails sont dans les liens (pas le tableau en image) et il s'agit de pur Py. Mais je me doutais que ça n'allais pas te plaire…
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Yth (Mastodon) . Évalué à 2.
Et s'ils avaient utilisé PyPy ?
Ça l'aurait mis où dans la liste ?
On a du *20 en vitesse sur des algos pur python qui traitent plein de données…
Lors de l'advent of code de l'an dernier j'avais pu tester et comparer, et si on fait pas de Numpy ou des trucs déjà optimisés, et qu'on fait juste du gros algo bien récursif avec des tétrablindes d'itérations et des millions de cas à traiter, c'est le jour et la nuit.
Et comment tu intègres le fait que PyPy c'est du Python compilé avec du Python plutôt que du C ?
C'est assez facile de comparer des langages compilés, on peut benchmarker entre le C, le Rust, le Go, le C++, l'Ada, si on veut, et on va sûrement dépendre des choix d'optimisation lors de la compilation.
Mais comparer avec de l'interprété c'est un peu compliqué, parce que comme indiqué plus haut en Lua on a Luajit, en JS on a du jit aussi, etc. et en Python on a PyPy. Si on choisit pour le test de ne pas les utiliser, on choisit de ne pas optimiser, alors qu'en production, on va au contraire chercher à optimiser.
Et sur des traitements longs et coûteux - quel que soit le langage - on va vraiment chercher à optimiser.
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Yth (Mastodon) . Évalué à 3.
Exemple avec ce script :
https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/toosimple-python3-3.html
25,3 fois plus rapide.
Et ça pompe moins de RAM.
Si on applique la différence de vitesse à la note de vitesse du tableau de 71,90 (je sais c'est un peu léger comme méthode, mais c'est pour donner une idée), on tombe à 2,84, soit tout juste inférieur au Go.
Où en serait-on réellement avec le benchmark complet ?
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
C’est bizarre, parce-que dans les liens recommandés (en faisant fi du fait que ça parle de tout le web qu’importe que la pile soit à base de NodeJS ou de Servlet JEE ou de Django ou autre) du commentaire initial il est justement fait le constat que l’on ne va plus « vraiment chercher à optimiser » et pourtant c’est « en production » et on rafistole ou rajoute de la ressource matériel avant de passer à une nouvelle hype. Ce n’est pas pour rien que le monde du logiciel est en train de prendre une pente merdique.
Mais j’avais déjà noté la levée de boucliers quand son langage favori n’est pas en tête, c’est certainement humain.
Maintenant, le but de l’étude n’était pas de comparer des langages entre eux (juste en vitesse) mais de tenter d’évaluer leur efficacité énergétique. « The goal of being able to rank programming languages based on their energy efficiency is both recent, and certainly deserves further studies. » Sur ce point, la vitesse n’est visiblement pas toujours ce qu’il y a de mieux. « Our results show interesting findings, such as how slower/faster languages can consume less/more energy, and how memory usage influences energy consumption. »
Et pourquoi pas PyPy ou pas telle variante est expliqué aussi. « We have taken rigorous and strict solutions to 10 well defined programming problems, expressed in (up to) 27 programming languages, from the well known Computer Language Benchmark Game repository. » Ceci dit, tu peux refaire les tests voir si ce sera plus écoresponsable : https://github.com/greensoftwarelab/Energy-Languages
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par flagos . Évalué à 2. Dernière modification le 29 septembre 2023 à 12:15.
Le problème, c'est qu'il ne faut pas faire de for loop en python si on veut du code performant. C'est sincèrement la seule règle a connaître si tu veux faire du python: "Pas de for loop".
Les implémentations que je vois sur le programme simple et too_simple en sont truffes. A un moment donne on peut discuter autant qu'on veut, mais a quoi comparer les perfs d'un code:
- si il était envoyé en test technique pour un entretien, le candidat ne serait pas rappelé
- si il était poste en MR, il se ferait recale
- si le code est existant, il serait traite comme bug
Je veux bien qu'on essaie de faire des comparaisons entre langages, mais chaque langage vient avec son lot de bonnes pratiques. Je vois pas vraiment l’intérêt de tirer des conclusions d'un code qui ne respecte l'une des bonnes pratiques les plus basiques du langage et qui impacte justement les performances.
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Hé hé :) Me suis toujours demandé pourquoi le langage a du for loop et s'il faut brûler tous les tutos (j'en ai pas encore vu qui fasse exception) qui l'enseigne. :-|
Bon, yapluka faire un PR dans les deux dépôts et voir si ça donne de meilleurs résultats.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Tit . Évalué à 3. Dernière modification le 02 octobre 2023 à 09:27.
Pourquoi il ne faut pas faire de boucles for en python ? Et on fait quoi à la place ?
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Yth (Mastodon) . Évalué à 3.
Des boucles.
Plus sérieusement, le problème c'est le traitement de grandes quantités de données avec des boucles, pas l'utilisation de boucles pour parcourir les 12 (ou même 12000) résultats d'une requête SQL.
Là t'as le choix :
* tu trouves un autre algorithme ;
* tu exploites une bibliothèques optimisée, si numpy fait ton affaire tant mieux, sinon, tant pis ;
* tu utilises pypy.
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par karteum59 . Évalué à 2. Dernière modification le 29 septembre 2023 à 18:57.
Le problème n'est pas que notre langage "favori" soit en tête ou non (d'ailleurs en ce qui me concerne je n'ai pas de langage vraiment favori) mais que les résultats soient douteux et la méthodologie derrière aussi. Les bonnes pratiques de conception ou d'éco-conception ne peuvent pas se réduire à "tel langage est plus performant / plus économe" (je ne sais pas si les gens se rappellent d'une ancienne version de Gnome où Nautilus mettait je crois environ 70 secondes pour afficher /usr/bin, bien qu'étant codé en C…).
Dans mon cas, il est possible que mon code Python/numpy/Geopandas soit plus performant que la même chose écrite en C (car en l'absence de "pénalité" sur les boucles je n'aurais peut-être pas naturellement vectorisé mon code de la même manière, or le fait de vectoriser permet de mieux utiliser le SIMD et le cache du CPU).
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Yth (Mastodon) . Évalué à 2.
Mon langage favori c'est le C :)
Mais j'aime bien le Python, parce que c'est cool (argument en béton là, imparable).
Mais bref, un programme écrit en PHP5 va tourner plusieurs fois plus vite en PHP7 sans rien changer.
Une option d'optimisation du compilateur C va booster les perfs au détriment de la taille.
L'utilisation de numpy va booster les perfs en Python, comparé à l'approche naïve. Et PyPy les booste au talent sans effort - mais pas si c'est du code numpy !
Donc, qu'est-ce qu'on compare ? Une utilisation naïve des langages sans connaissance profonde de leurs atouts et défauts ?
À quoi ça sert ? À savoir ce que ça va donner pour des codeurs du futur qui savent pas coder ?
On est d'accord, mais je n'ai pas les moyens de faire le test complet, et de façon comparative.
Cela dit, la vitesse *20, pas fondamentalement plus de CPU utilisé : un cœur à 100%, on boucle à fond, ça fait chauffer le CPU, mais l'algo est pas parallélisé.
On va consommer moins, c'est sûr.
Dans quelles proportions exactes ? Aucune idée !
Mais on gagne très certainement un ordre de grandeur…
Au final, mon seul argument, c'est que si vous codez en Python, envisagez PyPy si les perfs sont importantes.
Si c'est juste pour un outil de vérification des mises à jour, ça n'est pas nécessaire, codé correctement personne ne le verra passer (oui, je trolle :p).
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par alberic89 🐧 . Évalué à 0.
Et la compilation doit-elle être prise en compte ?
Un programme en C a été compilé et donc a consommé déjà des ressources importantes avant même d'être utilisé ! Il faut donc un certain nombre d'utilisations pour amortir.
L'informatique n'est pas une science exacte, on n'est jamais à l'abri d'un succès
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Bonne remarque. On devrait distinguer l’énergie de conception (difficile selon que l’on travaille de façon incrémentale où Python pourrait être mieux que Rust, ou si l’on fait quasiment pas d’aller-retours, et selon qu’on utilise un makefile ou pas, etc.) et l’énergie d’usage (théoriquement on est supposé faire tourner bien bien plus de fois mais bon parfois j’ai des doutes.) Comme dit le papier, c’est un nouveau champ d’études avec pas mal de zones d’exploration.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 4.
Oui, peut-être pas favori mais qu’on aime (bien/beaucoup) :) Et inversement, les gens ont tendance à détester des langages et essayer de les basher à la première occasion qui se présente :s
La remarque du passage de PHP5 à PHP7 s’applique aussi du passage de Python3.5 à Python3.7 (d’ailleurs, j’avais ironisé une fois que toutes les annonces de nouvelle version se ressemblent de plus en plus : premièrement et le plus important, on a boosté la vitesse d’exécution…)
Les tests mesurent l’utilisation naïve des langages ; et quand je vois certaines bases que j’ai vu en entreprise ainsi que certains liens en commentaire de ce journal, cela s’applique déjà aux codeurs d’aujourd’hui (pas du futur…) Ceci dit, ce n’est qu’un des aspects du problème qui est en gros qu’on a besoin de plus de code de qualité quelque soit le langage : j’ai déjà vu du code en C performer moins bien que l’équivalent en PHP (après investigation c’était une question de choix d’algorithmes, comme quoi.)
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par Yth (Mastodon) . Évalué à 2.
Y'a eu une période oui :)
Faut dire, il y avait matière à optimiser.
C'est ça en fait, plus qu'une question de langage favori, c'est une question de langage maîtrisé, et d'utilisation non naïve.
Je maîtrise le Python, et je vois tous les défauts triviaux de son utilisation dans ce jeu de données.
Donc je trouve la méthode faussée.
Et c'est vrai : tous les gens qui maîtrisent un poil le Python savent qu'il ne faut pas l'utiliser avec des grosses boucles qui font des traitements en grandes quantités, pas brut, pas directement comme ça.
Par contre, télécharger un fichier des données (flux RSS, ou truc du genre), analyser le contenu, comparer avec la base de donnée locale et présenter les mises à jour à faire sur son OS : il n'y a rien de lourd ou répétitif, on peut faire du traitement d'ensemble en peu de code (filtrage et comparaison de set() par exemple) et efficaces, et ça va prendre pouille du CPU et les 30Mo réglementaires de l'interpréteur Python en RAM, et voilà, on oublie.
Bref, ce benchmark est dans le cas d'usage type où PyPy est hyper intéressant, et CPython à la ramasse, et comme j'aurais aimé avoir cette comparaison là dans le tableau !
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par barmic 🦦 . Évalué à 2.
Je pense aussi que l'approche est bien trop grossière pour donner une information pertinente. Entre un programme à durée de vie courte et un à durée de vie longue ça va changer beaucoup les résultats pour les langages qui utilisent du JIT par exemple.
Plus sécurisé ? Avec moins de bug ? Qui utilise moins de mémoire ? Moins de CPU ? Dont l'exécutable est plus petit ? Qui a du code dédié à chaque architecture ou gpu disponible ? Qui résiste à du fuzzing ? Qui est capable de traiter pleins de choses en parallèle ou une seule chose en un minimum de temps ?… La moitié de ces critères vont demander des choix pour faire plus l'un que l'autre.
Et tous demandent des tests, tu l'inclus comment dans le calcul ? Parce que les tests ont eux même un coût énergétiques. En plus des tests unitaires, faire des tests de performance seront particulièrement coûteux. Évidemment l'architecture de l'intégration continue sera primordiale pour la consommation énergétique.
Dernier point tu as un équilibre entre la facilité dans un langage d'écrire du code performant (quelque soit ce que tu met derrière le mot performant) et le coût de la compilation ou du runtime du langage. Dis autrement il peut être plus simple d'arriver à un code performant en python qu'en fortran. Tu as aussi des langages qui te poussent à écrire plus de tests car moins de choses sont vérifiées dans le langage.
Bref cela me paraît impossible de donner un tableau de valeur générique et de s'en contenter. Il serait plus intéressant de créer des méthodologies pour évaluer sont coût énergétique et pouvoir en faire une métrique optimisable au même titre qu'une autre.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
Posté par greendev . Évalué à -4. Dernière modification le 01 octobre 2023 à 21:00.
Pour la bonne grosse blague. Je viens de faire l’exercice à la ligne de commande en 1 minute. C’est pas parfait mais je voulais juste vérifier un truc vite fait.
En simple shell sans prise de tête on est meilleur que tout les langages non optimisés.
# Bonne question
Posté par Pol' uX (site web personnel) . Évalué à 8.
En fait le logiciel libre est probablement la façon la plus aisément défendable de faire du logiciel (sauf pour les actionnaire). Mais la question devrait peut être être : « Comment pouvons-nous justifier nos efforts dans les logiciels ? » La planète brûle, et le rôle des logiciels dans la société ne semble pas être de l'en empêcher.
Adhérer à l'April, ça vous tente ?
[^] # Re: Bonne question
Posté par etbim . Évalué à 2.
Tout à fait, sans logiciels il aurait été impossible d'accélérer à ce point le ravage de la planète que l'on observe depuis la fin des années 1990.
Ni de faire le capitalisme financiarisé qui dope les investissement dans le gaz ou le pétrole d'ailleurs.
Et j'en passe et des pires (surveillance généralisée en Chine)…
Il y a en effet urgence à se poser la question.
Dans ce thème je vous conseille l'excellent livre "La liberté dans le coma".
[^] # Re: Bonne question
Posté par Big Pete . Évalué à 8.
Sans informatique, on serait pas foutu de faire tourner un modèle de climat. Par contre, on pourrait très bien cramer du charbon ou du pétrole.
Enfin, si on imagine une société façon steampunk (exercice de pensée), on peut très bien déstabiliser le cycle du carbone en brulant tout le carbone fossile sans pouvoir démontrer que c'est bien ça qui provoque un changement climatique.
Bref, c'est un peu abscons comme raisonnement je pense. Le rôle d'un logiciel est d'implémenter un algorithme et d'automatiser le traitement de l'information. C'est tout. on peut se servir de ça pour nous aider à foutre en l'air la planète ou la sauver, ou pas, ou les deux en même temps. :-)
Ce raisonnement est intéressant parce qu'il s'interroge sur l'éthique du logiciel libre. En gros, on cherche à caser cette activité dans nos systèmes de valeurs, savoir si c'est bien ou mal de faire du logiciel libre, étant donné que le logiciel libre, est avant tout une éthique du développement logiciel
Comme ces systèmes de valeur sont entrain de changer du fait de la crise écologique, on se demande si le logiciel libre est écolo, ou si tu préfére, si l'éthique du LL est compatible avec l'éthique écolo.
Ben si tu veux mon point de vue, il est écolo ou pas, suivant ce qu'on en fait. Certes, ça consomme de l'energie, utilise des ressources, mais si tout ça est fait en minimisant l'impact environnemental en rapport avec le service rendu, ça peut tout a fait être en adéquation avec une éthique écologique.
Cette démarche n'est pas propre au logiciel libre, elle l'est pour a peu prés tout. L'écologie en tant que doctrine idéologique et politique définie, entre autre, un cadre éthique. Elle le fait de façon plus ou moins rationnellement, (si possible, on préféra qu'elle reste le plus rationnelle possible, donc en se basant sur de la science, et pas juste des croyance), mais compte tenue qu'elle est aussi porteuse d'un imaginaire, d'une projection de notre avenir dans une société que l'on souhaite meilleure, elle échappe de fait à une rationalité stricte.
En clair, faisons du LL de façon conforme a des principe éthiques et moraux que l'on réévaluera eux-mêmes en fonction de l'évolution des connaissance que l'on acquiert sur le monde dans lequel on vit. On a le droit de se tromper, c'est inévitable quand on avance dans le noir, ce dont on a pas le droit, c'est de rester dans l'erreur quand on vient de se cogner dans un obstacle.
Faut pas gonfler Gérard Lambert quand il répare sa mobylette.
[^] # Re: Bonne question
Posté par Thomas Douillard . Évalué à 7. Dernière modification le 28 septembre 2023 à 13:05.
Faut pas déconner, dans un univers Steam Punk on était au courant pour l’effet de serre et ça fait un moment qu’on soupçonne ici et là que ça pourrait entraîner un réchauffement. Le démontrer formellement, c’est un luxe pour combattre l’industrie et sa désinformation parce que ça ne les arrange pas, mais toutes les subtilités induites n’ont rien changé que le CO2 est toujours considéré de nos jours comme déterminant.
[^] # Re: Bonne question
Posté par Big Pete . Évalué à 8.
C'est pas un luxe, c'est la base de la démarche scientifique. Sans ça, ce n'est qu'une hypothèse. Et c'est facile de refaire l'histoire après coup, et de dire qu'untel avait raison avant tout le monde. Sauf qu'on a apporté la preuve bien plus tard, et grace à des modèles. L'informatique a révolutionné la science climatique. (et pas que).
Tu devrais t'intéresser à l'histoire de la climatologie, elle explique assez bien le fait qu'une partie des climatologues historiques soient resté longtemps des climatosceptique (et même pour certains, le sont encore). par exemple :
La climatologie française, la modélisation des climats et le réchauffement climatique : la climatologie en question
Dire que tout était plié à la découverte de l'effet de serre, c'est très simplificateur, voire mensonger. L'histoire aussi c'est une science, et l'histoire des science en fait partie. Et démontrer la validité de l'hypothèse anthropique dans le réchauffement actuel a été une bataille, à la fois sur le plan scientifique, idéologique et aussi corporatiste. Les physiciens de l'atmosphère prenant le pas sur les climatologues traditionnels plus enclin à la géographie des climats, qu'au maniement des modèles informatique.
Sans informatique, la science moderne, ou plutôt post-moderne n'existerait pas. Tu décode comment l'ADN sans ordinateurs ? Et as tu une idée de l'importance que ça peut avoir en écologie scientifique le séquencement du génome ? Et les progrès en physique des particules, ou même en astrophysique ?
Le projet Tara Océans par exemple :
https://jacob.cea.fr/drf/ifrancoisjacob/Pages/Departements/Genoscope/Les-projets-de-Genoscope/Tara_Oceans.aspx
Aujourd'hui si on commence a peine à comprendre le système terre en tant que tel, et c'est bien grace aux progrès en informatique. Pas seulement, Darwin n'avait effectivement pas d'ordinateur, certes.
C'est assez triste de voire qu'on considère le logiciel et l'informatique comme un luxe dispensable sur un site comme linuxfr, qui plus est.
Merci de continuer de faire du vélo et du logiciel libre (intelligemment et écologiquement) ;-)
Faut pas gonfler Gérard Lambert quand il répare sa mobylette.
[^] # Re: Bonne question
Posté par Thomas Douillard . Évalué à 3.
Ton article décrit un débat entre les physiciens et les géographes, entre autre. Les géographes ne comprennent pas trop la physique à la base, mais les physiciens étaient au courant pour l’effet de serre bien avant. Apparemment ils étaient "fixistes" du climat, on est bien sorti du fixisme dans d’autres domaines, genre au hasard la biologie, sans l’informatique :) pourtant c’est assez naturel comme position, on à rarement l’occasion d’observer des changements significatifs à l’échelle d’une vie humaine. Encore aujourd’hui on entend des géographes comme Sylvie Brunnel sceptiques : https://fr.wikipedia.org/wiki/Sylvie_Brunel#Climato-scepticisme mais ils ne contestent pas tant la physique que le fait que le réchauffement serait néfaste.
La modélisation informatique n’a fait que confirmer ce que les physiciens savaient déjà … La théorie du chaos semble un non argument ici vu que certes il y a du chaos mais pas suffisamment pour changer les grands déterminants climatiques, et il n’y a pas vraiment de mécanisme qui justifierait que ça ne se réchauffe pas en moyenne à cause du chaos (faudrait que de l’énergie disparaisse de manière chaotique) … au contraire, la théorie du chaos a plutôt été utilisée pour disqualifier les modèles de climats, il me semble.
Il y a plutôt eu du soucis avec les géologues qui sont pas mal en conflit d’intérêt vu que géologie et industrie minière c’est quand même incestueux, globalement, qui contestent les échelles de temps et ont tendance à attribuer les changements au soleil.
Pour l’ADN, c’est pas vraiment la question ici :) Il n’est pas question de savoir si l’informatique apporte ou pas, mais de savoir si on pouvait raisonnablement attribuer le changement climatique aux émissions de gaz à effet de faire avec des modèles simples qui ne nécessitent pas trop de calculs lourds, même si effectivement ça laisse plein de questions ouvertes qui ne peuvent être répondues que par des modèles sophistiqués qui ont d’ailleurs tendance à sous estimer les choses malgré leur sophistication. Hors les modèles simples ne fonctionnent pas si mal en pratique. Donc je pense que oui. Les résistances à ce fait sont plus d’ordre sociétal que scientifique, on a bâti un monde sur le pétrole et le charbon … forcément les conséquences font grincer des dents.
[^] # Re: Bonne question
Posté par Big Pete . Évalué à 4.
Pour l'histoire de la recherche sur le changement climatique, je te renvoi sur la page wiki.
C'est faux de dire que la modélisation informatique n’a fait que confirmer ce que les physiciens savaient déjà, elle a joué un rôle clé pour démontrer les hypothèses avancées et aboutir a un consensus scientifique.
En science, une hypothèse non démontrée n'est pas considérée comme une connaissance. Donc non, les physiciens en question avaient des hypothèses sur le sujet, mais on ne peut pas dire qu'ils savaient. Les observations et mesures, en particulier les carottes de glaces qui a permis l'emergence de la paléoclimatologie, mais aussi l'observation satellitaire et la modélisation du climat ont permis de confirmer tout ça et de le démontrer scientifiquement.
De ce que j'en comprend, les physiciens ont un modèle théorique, et pour prouver la validité de ce modèle, il faut le faire tourner sur une terre virtuelle, une simulation, et comparer cette simulation avec les résultats obtenus historiquement, et actuellement. il n'y a pas vraiment d'autre solutions, étant donné que l'expérience que l'on fait avec la planète est unique.
Et on peut, grace à la modélisation, démontrer que le climat actuel serait moins chaud sans les émissions anthropiques. On peut aussi remettre en cause la validité des modèles, c'est le jeu, et dans ce cas là, on pourrait recommencer à douter. Pour le moment, ça tiens et c'est plutôt très solide.
évidement, aujourd'hui, le problème est plus politique et sociétal. Il l'a toujours été, mais c'est juste que l'accumulation de preuve ne permet plus de jouer à l'autruche avec ce problème.
Faut pas gonfler Gérard Lambert quand il répare sa mobylette.
[^] # Re: Bonne question
Posté par Thomas Douillard . Évalué à 4. Dernière modification le 28 septembre 2023 à 15:28.
C’est pas tout à fait exact. On a rarement des certitudes absolues, on a des hypothèses plus ou moins bien empiriquement testées ou solides, c’est rare d’avoir des certitudes absolues. Pourtant ces hypothèses font partie du champ des connaissances. Et si on ne devait agir qu’en état de certitude absolue on ne ferait pas grand chose … il y a toujours une part de certitude, il n’y a pas une dichotomie "connaissance / pas connaissance" ou "démontré / pas démontré" forcément bien nette. Pour les problèmes qu’une telle dichotomie pourrait poser, voir par ex Problème_de_l'induction en épistémologie.
Il y avait des preuves empiriques de cette hypothèse, en particulier de l’existence de l’effet de serre, et de sa sensibilité au CO2 : pour démontrer que l’effet de serre existe il suffit de mettre du CO2 dans un tube et de mesurer sa température : il y a pas besoin de matériel sophistiqué pour ça, et on faisait déjà : https://www.youtube.com/watch?v=SeYfl45X1wo Ça on savait, pour sur, comme montrent les articles, et on mesurait. Ensuite on estime les émissions, on estime la taille de l’atmosphère, et on a une quantité de chaleur moyenne ajoutée. C’est toujours ce qu’on fait maintenant pour avoir les ordres de grandeurs.
Et puis mesurer la température du globe sur une période suffisamment longue et moyenner suffit pour constater un réchauffement, même si effectivement des moyens techniques sont très utiles pour ça, et ça accélère le constat. Sauf qu’on soupçonnait un réchauffement bien avant de savoir le mesurer … pour de bonne raisons qui n’ont pas été remises en question (sauf par les sceptiques, donc pas toujours de bonne foi) et ont été confirmées, preuve qu’elles étaient bonnes.
Cela dit dans un monde steam punk ou on aurait pas appris à dépolluer un minimum les émissions (peu probable) la pollution ferait des ravages, les pluies acides aussi et les aérosols masqueraient un peu ou beaucoup le réchauffement, donc on aurait probablement d’autres préoccupations.
[^] # Re: Bonne question
Posté par vmagnin (site web personnel) . Évalué à 3.
Voir la dernière interview donnée par John Backus en 2006 :
https://archive.computerhistory.org/resources/access/text/2013/05/102657970-05-01-acc.pdf
https://www.youtube.com/watch?v=dDsWTyLEgbk
Interviewer: “Is the world a better place because of all the software that’s been written in your lifetime, or not?”
Backus: “Well, in human terms, probably not. Because it just takes us further and further away from human affairs. But as far as economic, and welfare, it’s done a lot of good. So it’s a mixed bag.
[…]
But I don’t envy you, I’m afraid. I think that we’re getting more and more technological and less and less human oriented.”
Interviewer : "Le monde est-il meilleur grâce à tous les logiciels qui ont été écrits au cours de votre vie, ou non ?"
Backus : "Eh bien, en termes humains, probablement pas. Parce que cela nous éloigne de plus en plus des affaires humaines. Mais pour ce qui est de l'économie et du bien-être, il a fait beaucoup de bien. C'est donc un bilan mitigé.
[…]
Mais je ne vous envie pas, j'en ai peur. Je pense que nous devenons de plus en plus technologique et de moins en moins orienté vers l'humain".
(DeepL)
# éco-conception logicielle
Posté par vpinon . Évalué à 2.
Commentaire-lien :
- KDE Eco
- KDE Systainability goal
Ce que j'en retiens : l'impact du langage c'est un a-priori ; comme d'habitude c'est en mesurant qu'on comprend réellement les effets. Donc profiler son logiciel d'un point de vue consommation, c'est un point important.
Le profiling CPU/RAM est aussi pertinent concernant l'obsolescence des terminaux. La méthode d'automatisation sur des cas d'usage comme ci-dessus se recoupe aussi.
L'effet secondaire bénéfique est que ça profite aussi à l'accessibilité
# écoles, universités, apprentissage : lire ou regarder?
Posté par bistouille . Évalué à 6.
Je ne sais par où commencer mais il y a du vrai dans tous ces commentaires à mon humble avis.
Comme le souligne l'auteur, et ce n'est plus à démontrer, le logiciel libre est souvent l'ultime recours pour prolonger la vie d'un matériel. En cela il est un levier efficace pour diminuer notre empreinte carbone, en luttant contre la nécessité de remplacer trop souvent le matériel.
Les points qui concernent le choix des langages et de la conception des logiciels sont aussi importants. Python (et d'autres langages réputés "plus accessibles") est accusé de favoriser la profusion de logiciels gourmands et peu efficaces, c'est en partie vrai, il y a un choix de facilité qui est fait, et j'en suis coupable également.
La vraie raison en est que nous avons des "impératifs" plus ou moins discutables conduisant à produire de manière parfois frénétique du code "qui juste fonctionne".
Et encore, Python c'est un moindre mal dans mon microcosme, car les alternatives à son usage sont…Matlab, IDL, et d'autres trucs proprios encore plus gros et gourmands, là où il n'y a pas si longtemps c'était dominé par Fortran (héritage encore très vivace).
Je constate par ailleurs que plus on externalise de missions, et moins il y a de codes efficaces, et plus on récupère des dépendances envers des logiciels propriétaires.
Pour l'informatique embarquée, micropython semble même plutôt efficace et assez peu gourmand sur des microcontroleurs STM32, ESP, RP2040, c'est peut-être pas si mal.
Enfin le dernier point concerne la "formation", ce n'est que mon avis mais je pense qu'on a un souci dans le mode de transmission du savoir qui est désormais privilégié:
la vidéo.
Il est désormais plus facile de trouver un tutoriel ou un cours, un MOOC en vidéo qu'un bon vieil "how-to" en version texte.
Même le monde de l'edition scientifique et technique est à fond dans ce créneau.
Pourtant c'est tout de même plus compliqué de lire une config ou du code dans une vidéo que sur une page web, et pas certain que ça soit plus didactique, et niveau consommation de ressources j'ose même pas imaginer…
[^] # Re: écoles, universités, apprentissage : lire ou regarder?
Posté par vmagnin (site web personnel) . Évalué à 3.
A noter toutefois qu'une vidéo, au moins on ne peut pas l'imprimer… Économie de papier… :-)
Bonjour l'ACV, c'est compliqué de savoir à quoi s'en tenir.
[^] # Re: écoles, universités, apprentissage : lire ou regarder?
Posté par gUI (Mastodon) . Évalué à 5. Dernière modification le 28 septembre 2023 à 18:11.
Comme toujours en matière d'écologie, rappelons que l'unité de mesure de l'écologie n'existe pas parce que c'est pas mesurable, et donc très difficile de comparer.
Par exemple, si je dois faire un programme, est-ce que ce sera plus écologique si je l'écris en Python en 3j ou en C en 5j, sachant que je fais 15km en voiture pour venir au boulot et que je mange local-flexitarien à la cantine ? La réponse est évidente : ça dépend à quel point il sera utilisé ensuite ! Alors ? À combien de minutes de CPUs on met la barre ?
Alors oui évidemment il faut pas faire de la merde, jamais, mais je connais peu d'exemples de programmes largement utilisés qui soient anormalement lourds, quel que soit le langage de programmation.
Ah si, Eclipse :)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: écoles, universités, apprentissage : lire ou regarder?
Posté par greendev . Évalué à -5.
Ça doit être ça le multiverse.
[^] # Re: écoles, universités, apprentissage : lire ou regarder?
Posté par Tit . Évalué à 3. Dernière modification le 29 septembre 2023 à 11:34.
Juste pour être sûr de comprendre. je suppose que ta remarque est sarcastique, qu'elle signifie que tu constates que gUI et toi vous n'avez pas du tout le même constat (pour toi de nombreux programmes largement utilisés sont anormalement lourds), et donc tu supposes que vous vivez dans deux univers différents.
J'ai bon ?
[^] # Re: écoles, universités, apprentissage : lire ou regarder?
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Il faudra probablement faire appel au scaphandre (: et afficher les énergivores sur le mur de la honte.
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.