IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    9 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 9 456
    Par défaut John Carmack plaide pour l’optimisation logicielle comme alternative à la course à l’innovation matérielle
    John Carmack : « le monde pourrait fonctionner sur du matériel plus ancien si l'optimisation logicielle était prioritaire »,
    l'ancien CTO d'Oculus réagit à un « exercice de pensée » sur une « apocalypse des CPU »

    John Carmack, une célébrité dans le monde du développement de jeux vidéo et de la technologie, s'est souvent présenté comme un défenseur de l'optimisation logicielle. Ancien directeur technique d'Oculus VR et cofondateur d'id Software (une entreprise américaine de jeux vidéo qu'il a quitté en 2013), Carmack a redéfini ce que nous attendons d'un moteur de jeu et d'une expérience immersive. Récemment, il a lancé un débat audacieux qui pourrait bien bouleverser notre vision de l’évolution technologique : et si, en réalité, nous n’étions pas si dépendants du matériel dernier cri ?

    Réagissant à un « exercice de pensée » publié sur le réseau social X (anciennement Twitter), qui parlait d’une « apocalypse des CPU », Carmack a exprimé son point de vue selon lequel le véritable problème n’est pas un manque de puissance des processeurs modernes, mais plutôt l'inefficacité des logiciels actuels. Si l’optimisation logicielle était traitée comme une priorité, il soutient que beaucoup plus de systèmes dans le monde pourraient fonctionner efficacement sur du matériel plus ancien, et ce, sans sacrifier la performance. En d’autres termes, les pressions du marché pousseraient les entreprises à améliorer drastiquement l'efficacité des logiciels si l'innovation matérielle s’arrêtait.

    Il a répondu à un commentaire sur X qui disait :

    Et si l'humanité oubliait comment fabriquer des processeurs ?

    Imaginez le jour de l'arrêt total de la production (Zero Tape-out Day - Z-Day), le moment où plus aucune conception de silicium n'est fabriquée. Les conceptions de base avancées sont très mal loties.
    Citation Envoyé par John Carmack
    J'ai également réalisé cette expérience de pensée amusante ! Une plus grande partie du monde que ce que beaucoup imaginent pourrait fonctionner sur du matériel obsolète si l'optimisation logicielle était vraiment une priorité, et si les signaux de prix du marché sur le calcul rare permettaient d'y parvenir. Reconstruire tous les produits interprétés basés sur des microservices en bases de code natives monolithiques ! Les nouveaux produits innovants deviendraient beaucoup plus rares en l'absence d'un ordinateur super bon marché et évolutif, bien sûr.
    L'inefficacité des logiciels : le véritable goulet d'étranglement

    Dans un contexte où chaque nouvelle génération de processeurs et de cartes graphiques semble plus puissante que la précédente, Carmack défend l'idée que l’inefficacité des logiciels est le véritable frein à la performance. Plutôt que de dépendre de nouvelles puces chaque année, il imagine un monde où l'optimisation des logiciels permettrait de prolonger la vie des équipements existants, réduisant ainsi le besoin constant de mises à jour matérielles.

    Aujourd’hui, les utilisateurs, qu’ils soient dans le domaine du jeu vidéo, du traitement de données ou même des applications professionnelles, sont constamment incités à mettre à jour leur matériel afin de tirer parti des dernières avancées en matière de performance. Cependant, pour Carmack, cette logique de renouvellement constant est alimentée par une négligence des bases mêmes du développement logiciel. Il critique notamment la manière dont les programmes modernes, y compris les jeux et les applications professionnelles, sont souvent conçus pour tirer parti de la puissance brute de nouveaux matériels sans chercher à optimiser l’utilisation des ressources existantes.

    « Plus de parties du monde que beaucoup ne l'imaginent pourraient fonctionner sur du matériel obsolète si l'optimisation logicielle était vraiment une priorité », a déclaré Carmack. Cette réflexion soulève une question fondamentale : avons-nous vraiment besoin de processeurs toujours plus puissants, ou est-ce que nous pourrions exploiter mieux ce que nous avons déjà ?

    Une solution radicale : revenir aux pratiques du passé

    Pour Carmack, la solution pour surmonter cette dépendance au matériel est de revenir à des méthodes de développement plus efficaces, abandonnant les architectures modernes complexes au profit de techniques plus simples mais plus performantes. Sa proposition ? « Reconstruire tous les produits basés sur des microservices interprétés en bases de code natif monolithiques ! » Autrement dit, il préconise un retour aux bases du développement logiciel avec des codes optimisés et plus proches du matériel, une approche que l’on retrouvait dans les premières phases de l’informatique.

    Ce retour aux anciennes méthodes de programmation soulève un défi majeur : la compatibilité et l’extensibilité des applications modernes. Les architectures actuelles reposent en grande partie sur des microservices, une méthode qui permet de développer des applications modulaires, évolutives et flexibles. Ces microservices, bien que puissants en termes de scalabilité et de gestion des ressources, ne sont pas aussi efficaces en termes de performance brute que les anciennes approches monolithiques, où tout le code était intégré dans une base de données unique, souvent optimisée pour un matériel spécifique.

    Cependant, selon Carmack, cette approche plus traditionnelle offrirait une performance beaucoup plus élevée avec un matériel moins puissant. Il est convaincu que si le développement logiciel se concentrait sur l’optimisation du code, plutôt que de simplement se reposer sur la puissance des nouveaux processeurs, de nombreux systèmes obsolètes pourraient encore réaliser des tâches complexes.

    Nom : what.png
Affichages : 91354
Taille : 238,8 Ko

    Les compromis à accepter

    Mais Carmack reconnaît que cette solution radicale ne viendrait pas sans coûts. D’un côté, la simplification du code et la recherche d’une optimisation maximale entraîneraient des gains de performance considérables, mais de l’autre, l'innovation pourrait en souffrir. En effet, le développement de nouveaux produits « innovants » serait beaucoup plus difficile sans l’accès à des infrastructures informatiques bon marché et évolutives.

    Carmack note que les approches actuelles qui privilégient les microservices et le cloud computing permettent de créer des produits à grande échelle de manière rapide et flexible, mais cette évolution a un prix en termes d’efficacité. Par conséquent, il est à la fois passionné et prudent dans sa proposition de revenir à une architecture de code monolithique : bien qu’elle améliore les performances, elle pourrait rendre la création de nouveaux produits plus difficile, car les outils modernes de développement ne sont pas conçus pour cette approche.

    L’impact d’un monde sans matériel dernier cri

    Cette réflexion a des implications qui vont bien au-delà des simples considérations techniques. Si l’on adoptait cette philosophie d’optimisation des logiciels, nous pourrions potentiellement réduire considérablement l'impact environnemental de l'industrie technologique. En effet, un modèle qui favorise la réutilisation et l’optimisation des équipements existants pourrait réduire le volume de déchets électroniques et les besoins en matières premières pour fabriquer de nouveaux composants. Cela répondrait également à une partie de la pression exercée par les consommateurs, qui sont souvent poussés à remplacer leurs appareils avant même qu’ils n’atteignent la fin de leur cycle de vie utile.

    En outre, si cette vision était adoptée, elle pourrait également contribuer à réduire les inégalités d’accès à la technologie. Dans de nombreux pays en développement, les consommateurs n’ont pas accès aux derniers modèles de matériel, mais pourraient potentiellement bénéficier d’une optimisation logicielle adaptée à leurs systèmes existants. Cela ouvrirait la voie à une plus grande démocratisation de la technologie, avec des logiciels plus efficaces et accessibles à un plus grand nombre de personnes.

    Conclusion : vers un avenir sans innovation matérielle constante ?

    John Carmack, avec sa vision radicale de l'optimisation logicielle, soulève une question qui mérite d’être débattue : à quel point avons-nous réellement besoin d'innovations matérielles constantes pour répondre aux besoins de la société ? Si l'on se concentre sur l'optimisation des logiciels, il est possible que nous puissions faire fonctionner des systèmes plus anciens de manière aussi efficace que les nouveaux, voire plus. Bien que cela comporte des compromis, notamment en matière d'innovation produit, cette réflexion pourrait bien ouvrir la voie à une manière plus durable et responsable de consommer et de développer la technologie.

    Ainsi, dans un monde où la pression pour toujours acheter les derniers produits devient écrasante, la proposition de Carmack pourrait représenter un retour aux valeurs fondamentales de l'informatique : optimiser et maximiser les ressources disponibles, plutôt que de constamment chercher à en acquérir de nouvelles.

    Source : John Carmack

    Et vous ?

    Est-ce que la révision des architectures modernes, comme le passage des microservices aux systèmes monolithiques, pourrait réellement améliorer la performance, ou risquons-nous de sacrifier la flexibilité et l’évolutivité des logiciels modernes ?

    Si l’on privilégiait l’optimisation logicielle, comment cela affecterait-il l’évolution des industries technologiques qui reposent sur des avancées matérielles, comme le gaming ou la réalité virtuelle ?

    Dans un monde où l’optimisation logicielle serait la priorité, quel impact cela aurait-il sur la recherche et l’innovation en matière de nouveaux produits ? Devrions-nous accepter de moins d’innovations dans certains secteurs ?

    Est-il réaliste de penser que des solutions logicielles optimisées pourraient vraiment compenser l’avancée des nouvelles technologies matérielles dans des secteurs comme l’intelligence artificielle ou les superordinateurs ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Février 2024
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Février 2024
    Messages : 244
    Par défaut
    Très clairement, le web moderne fonctionne grâce à des navigateurs qui ont besoin d'un processeur de plusieurs GHz pour fonctionner, en consommant plus d'un Go de mémoire, tout ça pour afficher du texte.

  3. #3
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 615
    Par défaut
    Je bosse sur du data-processing/data-viz sur large data. Vous savez quelle est le bottleneck le plus courant ? Les cache-miss ? La latence mémoire ? Le bus DMA ? Les core saturé ?

    Non... L'API REST qui te crache un dictionnaire JSON pour stocker un tableau de valeurs...
    La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 482
    Par défaut
    Il y a des optimisations "simples" pour le web déjà à faire :
    - utilisation de sprites
    - réduire la publicité et le tracking
    - utiliser des langages performants
    - arrêter de demander des inscriptions pour tout et n'importe quoi, ça grossit les BDD
    - ...

  5. #5
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2006
    Messages : 46
    Par défaut
    Imaginez ce que cela va donner avec le code generer par les "ia"...
    Ça fait longtemps qu'on se laisse déborder par tout un tas d'outils ou de framework, bien loin des débuts ou la performance était reine.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 126
    Par défaut
    Citation Envoyé par RenarddeFeu Voir le message
    Très clairement, le web moderne fonctionne grâce à des navigateurs qui ont besoin d'un processeur de plusieurs GHz pour fonctionner, en consommant plus d'un Go de mémoire, tout ça pour afficher du texte.
    Attention quand même à distinguer la mémoire réservé de la mémoire réellement utilisé, s'il y'a de la place les apps en réserve souvent une grosse quantité au cas où quitte à la rendre par la suite si nécessaire

  7. #7
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 711
    Par défaut
    Citation Envoyé par pyros Voir le message
    Je bosse sur du data-processing/data-viz sur large data. Vous savez quelle est le bottleneck le plus courant ? Les cache-miss ? La latence mémoire ? Le bus DMA ? Les core saturé ?

    Non... L'API REST qui te crache un dictionnaire JSON pour stocker un tableau de valeurs...
    Les accès aux données ont toujours été le goulet d'étranglement des applications, que ce soit en web, en client lourd, en rest ou en Soap. Surtout si on utilise une api de sérialisation "lente" comme JavaIO au lieu de librairies optimisées, mais encore plus quand votre SQL n'est pas soigné aux petits oignons.
    Seulement DBA c'est un métier.

  8. #8
    Membre habitué
    Femme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2024
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : Juillet 2024
    Messages : 13
    Par défaut
    C'est tellement vrai ! Le ratio énergie dépensée / coût instruction est peut être souvent moins bon aujourd'hui dans de nombreux cas (web en particulier).

  9. #9
    Membre extrêmement actif Avatar de OrthodoxWindows
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2021
    Messages
    1 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2021
    Messages : 1 322
    Par défaut
    Citation Envoyé par smarties Voir le message
    Il y a des optimisations "simples" pour le web déjà à faire :
    - utilisation de sprites
    - réduire la publicité et le tracking
    - utiliser des langages performants
    - arrêter de demander des inscriptions pour tout et n'importe quoi, ça grossit les BDD
    - ...
    Avec tout ça, la consommation d'énergie du web serai énormément réduite. Rien qu'avec NoScript, les pages se chargent beaucoup plus vite, la différence est énorme.

    D'autre part, même pour les applications native, il y a une grosse divergence. Sous Windows, tout ce qui est Win32/C est largement plus rapide, moins consommateur de CPU et de RAM. Sous Linux, cela se vois aussi, mais moins, car les programmes modernes ont tendance à être plus optimisé que sous Windows.
    Quand à Android, c'est une catastrophe, entre le sandboxing généralisé et les nombreuses applications en langage web.
    D'ailleurs, quelque soit le système, il y a aujourd'hui le fléau nommé électron

  10. #10
    Membre averti
    Profil pro
    Chef de projet
    Inscrit en
    Septembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 56
    Par défaut Mais que fait un ordinateur la plupart du temps?
    Les unités de calcul en virgule flottante sont au top, les unités IA et GPGPU sont sur les starting blocs.

    Mais un ordi va beaucoup:
    • chiffrer/déchiffrer
    • comparer des chaînes de caractères/interpréter du texte


    Ben oui: entre les échanges de données en format texte à structure un peu molle (json), l'indexation de tout par texte ou lieu d'index (table de données, résultats SQL), les scripts dans tous les sens, les valeurs en texte (couleurs, taille), le tout en unicode ou UTF8 (donc il faut transformer la représentation), l'absence de format qui permette réellement une interprétation linéaire sans attendr ela fin du fichier (XML et JSON nécessite pour être juste la totalité du fichier, difficile de commencer d'interpréter avant d'avoir tout reçu), les calculs en texte pour être précis là où ce n'est pas nécessaire, les langages en bytecode qui appellent des fonctions par leur nom...

    Pour rappel: la comparaison entre 2 chaînes de caractères qui prend le plus de temps, c'est celle qui match (puisqu'on est sûr d'avoir parcouru TOUS les caractères)

    Vous savez quelle CPU a des instructions qui aidait pour tout cela (sauf l'UTF8)? Le 8086. Et vous savez que ces instructions ne sont plus utilisables en 32 et 64 bits ?

    Enfin, le choix quasi permanent de regénérer le contenu (à partir de requêtes, en concaténant) au lieu de le livrer tout fait. Même actuellement, la concaténation de chaînes de caractères (pour construire un JSON, un HTML) est un domaine complexe à optimiser.

    Je me rappelle encore d'un exemple où pour optimiser un algo C#, j'ai remplacé les nom des colonnes dans les accesseurs à un datatable/datarow par les index que j'avais récupérés avant la boucle. Résultat: vitesse *10 direct, et moins de GC...

  11. #11
    Membre éprouvé
    Profil pro
    programmeur du dimanche
    Inscrit en
    Novembre 2003
    Messages
    970
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : programmeur du dimanche
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 970
    Par défaut
    Citation Envoyé par OrthodoxWindows Voir le message
    Avec tout ça, la consommation d'énergie du web serai énormément réduite. Rien qu'avec NoScript, les pages se chargent beaucoup plus vite, la différence est énorme.

    D'autre part, même pour les applications native, il y a une grosse divergence. Sous Windows, tout ce qui est Win32/C est largement plus rapide, moins consommateur de CPU et de RAM. Sous Linux, cela se vois aussi, mais moins, car les programmes modernes ont tendance à être plus optimisé que sous Windows.
    Quand à Android, c'est une catastrophe, entre le sandboxing généralisé et les nombreuses applications en langage web.
    D'ailleurs, quelque soit le système, il y a aujourd'hui le fléau nommé électron
    Cela dit, outre le cas particulier d'électron (charger un navigateur par app), une app. en javascript n'est pas nécessairement mauvaise : l'interpréteur est si optimisé que c'est un des langages interprétés parmi les plus rapides.
    Par contre, les habitudes du web en optimisation sont assez "sommaires" souvent. Empilement interminable de frameworks, de librairies diverses.

    Hier j'ai vu une single page application, en gros des QCM qui défilent. 25Mo de js pour afficher des cases à cocher quand même, ce avec un langage qui est un des rares à disposer d'un tree shaking global. Il faut le voir pour le croire.

    L'isolation des app. sous android c'est au contraire une bonne chose à mon avis. Il y a tellement de code malicieux dans le store (pour la vente des données), que les app. gratuites courantes ont pour modèle de voler tout ce qu'elles peuvent. Il y a pas que des OS douteux qui restraignent les droits des app, c'est la base sur openBSD (et sous les autres os, c'est cette absence de compartimentation permet d'avoir autant de crypto-lockers).

  12. #12
    Membre averti
    Profil pro
    Chef de projet
    Inscrit en
    Septembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 56
    Par défaut Exact
    Citation Envoyé par Fagus Voir le message
    une app. en javascript n'est pas nécessairement mauvaise : l'interpréteur est si optimisé que c'est un des langages interprétés parmi les plus rapides.
    Par contre, les habitudes du web en optimisation sont assez "sommaires" souvent. Empilement interminable de frameworks, de librairies diverses.
    Exemple d'applis impressionantes en JS: draw.io, BPMN.io. hyper léger, hyper réactif.
    Autre exemple: les motres bangles.js sont programmées en Javascript sur 256ko de RAM. Javascript dans un bon environnement (pas le DOM html), c'est correct.

  13. #13
    Membre du Club
    Profil pro
    DBA Oracle
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DBA Oracle

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut Et si les processeurs ne fonctionnaient pas sur des principes surannés

  14. #14
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 885
    Par défaut
    Bonjour

    En somme, John Carmack dénonce l'obsolescence programmée.
    Mais, il a raison sur un point, l'optimisation logicielle est le grand absent des pratiques de programmation modernes.
    Je me souviens du temps où l'on programmait avec mon équipe de bioinformaticiens, on appliquait le principe de Donal Knuth (https://en.wikipedia.org/wiki/Donald_Knuth, auteur de TeX):
    Citation Envoyé par Donald Knuth
    Early optimization is the root of evil
    Donc, d'abord on programmait pour obtenir le résultat attendu (et une bonne gestion des exceptions), puis seulement après, on optimisait.
    On obtenait ainsi des applis robustes, qui tournaient comme des coucous suisses et qui boostaient à fond sur du matos encore plus récent !
    Je m'interroge donc sur la formation des jeunes programmeurs. Le souci de l'optimisation, à mon avis, ils passent à côté ! Ou se disent-ils qu'après tout, leur PC est suffisamment puissant pour faire ce qu'ils estiment faire ?

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  15. #15
    Membre Expert
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    589
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 589
    Billets dans le blog
    1
    Par défaut Toujours avoir un vieux PC pour coder !
    Ça confirme bien mes choix personnels de continuer à développer mes logiciels (personnels et professionnels pour les clients) sur un de mes vieux Lenovo B590 depuis que j'étais étudiant.

    Tout faire en sorte que ça fonctionne bien sur du vieux matos de 2014 optimiser sur les vieux proc, les rendu 3D pareil, je me force à utiliser encore ces vieux GPU intégré Intel HD400, c'est pourri mais si tu te démerdes à optimiser tes boucles, atteindre 30 fps pour des gros rendu directx11 t'es le roi 👍

    Depuis mes premiers clients il y a 6 ans, ils ont des PC récents, mes livrables sont merveilleusement super bien optimisés et je ne regrette rien 🙏

    (Bien évidemment j'ai aussi un PC i9 RTX4090 pour faire de la non reg et me satisfaire des performances)

    Felly Software est développé intégralement sur ce Lenovo 🙏
    Sébastien FAVIER
    Felly-software Autonomous vehicle software for everyone.
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 27
    Par défaut
    Je commente assez peu mais je suis choqué par le nombres de commentaires "pro optimisation"

    Si les applications actuelles sont si gourmandes en ressources, c'est simplement parce que la balance cout matériel/cout développement a considérablement penché du coté du développement.

    L'optimisation à un cout en développement élevé et réduit considérablement les possibilités d'évolution et la flexibilité des applications. C'est pour cela qu'on a inventé les micro-services, les langages interprétés, les framework... C'est pour cela que le nombre de couche entre le code de l'application finale et le processeur ne cesse d'augmenter. Augmenter le nombre de couches augmente les ressources nécessaires mais facilite et accélère le développement des applications.


    La règle de nos jours pour la plupart des secteurs est "Ne vous souciez de l'optimisation que si c'est réellement nécessaire". Désolé pour les dinosaures qui n'auraient pas suivi l'évolution mais à moins de faire du développement très bas niveau (BBD, OS, IOT et autres...) ou des applications à très large audience, on en a rien à faire de l'optimisation (et tout fonctionne comme un charme avec des applications flexibles et évolutives)!

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/04/2023, 11h00
  2. Réponses: 8
    Dernier message: 15/05/2020, 19h24
  3. Réponses: 5
    Dernier message: 15/11/2019, 14h10
  4. Lotus Notes comme alternative à Outlook pour simple utilisateur?
    Par yetanotherlogin dans le forum Lotus Notes
    Réponses: 3
    Dernier message: 06/11/2010, 16h44
  5. JBuilder ou eclipse pour developpement logiciel ?
    Par noOneIsInnocent dans le forum Eclipse
    Réponses: 15
    Dernier message: 12/04/2004, 14h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo