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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les excuses pour ne pas promouvoir la performance des logiciels sont infondées
Selon Casey Muratori, Lead programmeur chez Molly Rocket Inc.

Le , par Anthony

614PARTAGES

7  0 
La performance est un facteur crucial dans le cycle de vie d'un logiciel et ce besoin gagne en importance dès la phase de conception du produit. Toutefois, certains segments de la communauté des développeurs estiment que les préoccupations en matière de performances sont dépassées et ne s'inscrivent plus dans les priorités de l'industrie. Pour Casey Muratori, Lead programmeur chez Molly Rocket Inc, ces genres d'excuses visant à reléguer la performance au second plan ne sont tout simplement pas valables, et il est facile de le démontrer en observant les efforts menés par les grandes firmes technologiques, à l'instar de Facebook ou de Twitter, au cours de ces dernières années....

La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 30/04/2023 à 2:01
Pour ceux qui s'intéressent au contexte, la vidéo "Performance Excuses Debunked" que Casey Muratori a publié le 26 avril 2023 semble répondre à des réactions à l'article "Clean" Code, Horrible Performance qu'il a publié le 28 février 2023. Dans cet article, l'auteur critiquait surtout l'impact sur les performances du polymorphisme au runtime en C++ en illustrant ses idées sur un cas d'école avec des calculs d'aires de formes géométriques.

D'ailleurs, concernant l'importance des performances, cela me fait penser à l'article Maybe people do care about performance and reliability publié par Hillel Wayne le 13 février 2023.
Dans un premier temps, l'article donne quelques exemples pour lesquels le fait qu'un logiciel soit rapide est un avantage compétitif sur le marché.
Mais, dans un deuxième temps, l'article donne aussi des raisons pour lesquelles des utilisateurs se retrouvent avec des logiciels lents voire à la fois lents et bogués, malgré la frustration que cela engendre. Plusieurs cas sont cités, dont celui où les utilisateurs ne sont pas les clients (dans une entreprise, ceux qui décident quels logiciels acheter ne sont pas toujours ceux qui les utilisent).
7  0 
Avatar de binarygirl
Membre chevronné https://www.developpez.com
Le 04/05/2023 à 13:54
Dans certains domaines, on a pas d'autre choix que l'obsession de la performance. C'est vrai dans le développement embarqué: certains équipements doivent être autonomes sur une pile pendant des années et on fait la chasse aux milliampères, on doit faire des arbitrages au niveau du code aussi.
C'est aussi une préoccupation à grande échelle: un data center fait naturellement la chasse au gaspillage d'électricité.

J'ai souvent vu du code avec des boucles while, "idle" la plupart du temps, mais qui sont mal fichues et font tourner le CPU à 100%, ce sont des fautes de programmation qui peuvent être facilement évitées. Dans certains cas, un timer est plus adapté.

Petite anecdote qui remonte à une vingtaine d'années: un client avait un serveur sur lequel tournait un ensemble de tâches SQL, avec des transferts de fichiers entre pays par modem etc. Du jour au lendemain, ce processus relativement lourd qui prenait 4 heures est passé à 8 heures. Il faut savoir que ce processus se déroulait pendant la nuit, et que tous les fichiers devaient être prêts quand les employés commencent leur journée le matin.

La cause du problème: quelqu'un a installé un screen saver sur ce serveur, c'était manifestement un programme mal codé qui bouffait les ressources en CPU et plombait le serveur...

Performance çà va de pair avec stabilité aussi. quand un programme "mission-critical" tourne en continu dans un environnement de prod avec des fuites mémoires, à un moment vous allez avoir un retour du client car les bugs et l'instabilité du code vont commencent à se voir

Je suis d'accord avec Walfrat, les développeurs sont fainéants (moi aussi), et il faut bien le dire on n'a pas toujours le temps de faire de la qualité ou aussi bien qu'on voudrait. Personne ne se soucie des performances tant que ça ne pas pose un problème voyant. Et il faut bien reconnaître que cela ne va pas de soi: il faut apprendre certaines bonnes pratiques de coding, mais il faut aussi apprendre à mesurer et tracer le code.
Mais ça ne fait pas partie des exigences des employeurs non plus, sauf exception. A partir de là il ne faut pas s'étonner que le sujet soit relativement délaissé.

Je pense quand même qu'avec l'automatisation la qualité peut s'améliorer. Par exemple, il est de plus en plus courant qu'un outil tel que Valgrind soit intégré à la chaîne CI/CD.
7  0 
Avatar de vanquish
Membre chevronné https://www.developpez.com
Le 03/05/2023 à 9:53
Tout le monde préfère un logiciel réactif à un logiciel lent et mou.
Et tout développeur préfère être l'auteur du premier que du second.
L'affirmer c'est défoncer une porte ouverte.

Il n'est donc pas question de négliger le performance, mais ....

Citation Envoyé par denisys Voir le message

J’ai l’impression que Casey Muratori , est ancré dans son univers.
Je suis assez d'accord.

Sur mobile, même si cela rejoint souvent la performance, la consommation est aussi un critère important avec lequel ont doit composer.
Si le truc est performant mais vide la batterie en 1h, il ne sert à rien.

Muratori nous dit en gros "il n'y a pas que les jeux, regarder Facebook".
Facebook est un logiciel serveur qui va devoir avaler des centaines de milliers de requêtes à la seconde, bien entendu que la performance est capitale dans ce cadre.
Tout comme c'est le cas pour un serveur SQL. Quand on compare ce genre de serveur, on regarde beaucoup la réactivité en charge.
C'est comme cela que des serveurs SQL simplistes se sont fait une place à coté de serveurs beaucoup plus puissant.

Mais coté client (lourd ou léger) il y a d'autres critères : à commencer par l'interface utilisateur.
Beaucoup de logiciels gratuit ne percent pas parce que s'ils sont performent et réactif, leur UI épurée fait qu'ils sont laid comme des poux et qu'ils faut des heures sur les forum et tuto pour les maitriser.

On pourrait ajouter la compatibilité matérielle.
En se limitant aux capacités des derniers processeurs, cartes graphiques, norme wifi etc. ont est plus performant, cela n'en fait forcement le meilleurs choix : il n'y a qu'à voir les ventes de Windows 11.
4  0 
Avatar de denisys
Membre chevronné https://www.developpez.com
Le 02/05/2023 à 20:50

Les excuses pour ne pas promouvoir la performance des logiciels sont infondées
Selon Casey Muratori, Lead programmeur chez Molly Rocket Inc.
De part expérience, je serais tenté de dire …
Pas tous a fait !!
En règle générale, on ne vie pas d’amour et d’eau fraîche.
Et c’est bien pour cela, que en règle générale, les entreprises, quelque soit leur taille, privilégient le retour sur investissement.
La performance des logiciels, c’est bien !!
Et la qualité des logiciels, dans cette affirmation ???
Et le confort d’utilisation des logiciels, par les utilisateurs finaux , dans cette affirmation ????
J’ai l’impression que Casey Muratori , est ancré dans son univers.
Même, si je préfère créer et utilisé des logiciels performants !
3  1 
Avatar de walfrat
Membre émérite https://www.developpez.com
Le 04/05/2023 à 9:23
Citation Envoyé par vanquish Voir le message
Tout le monde préfère un logiciel réactif à un logiciel lent et mou.
Et tout développeur préfère être l'auteur du premier que du second.
L'affirmer c'est défoncer une porte ouverte.
Non non, je l'affirme j'ai croisé plus d'un "développeur" qui n'en ont rien à faire.

Tant que leur fait pas un ticket "corrige ta merde qu'est trop lente" il n'y toucheront pas.
Et il va de soi que la lenteur en question est dû a du pur jean foutisme grand Seigneur du Copier/Coller de StackOverflow.
2  0 
Avatar de walfrat
Membre émérite https://www.developpez.com
Le 03/05/2023 à 9:25
Pour ceux qui s'intéressent au contexte, la vidéo "Performance Excuses Debunked" que Casey Muratori a publié le 26 avril 2023 semble répondre à des réactions à l'article "Clean" Code, Horrible Performance qu'il a publié le 28 février 2023. Dans cet article, l'auteur critiquait surtout l'impact sur les performances du polymorphisme au runtime en C++ en illustrant ses idées sur un cas d'école avec des calculs d'aires de formes géométriques.
Stop prendre les cas d'école comme des exemples destinés à la profession ?

Je suis bien d'accord qu'il y a des problèmes de performance, mais le jour ou on parlera que c'est le polymorphisme, ou le framework utilisé qui pose un problème de perf sur mon application typique de gestion de données (client lourd ou web/serveur/bdd sql), et bien.... j'y réfléchirai le jour ou ça arrivera, parce que le dev qui fait attention au truc de base comme une bonne gestion des IO, ben ça coure pas les rues d'après mon expérience.
2  2