Post du fil d’actualité
Lien graphique pour voir le cadre de David Miolard
David MiolardDavid Miolard • 3e et +Vérifié • 3e et + Fondateur de Techmastermind.fr | Développeur Senior & Formateur (IA, Web, Jeux)Fondateur de Techmastermind.fr | Développeur Senior & Formateur (IA, Web, Jeux) 4 j •
Il y a 4 jours • Visible de tous sur LinkedIn et en dehors
Le Mythe du for est MORT. Mais pas partout. 💀
Stop au dogme : l'optimisation la plus enseignée en développement est devenue la plus nuisible sur le Front-end. 🤯
Notre benchmark rigoureux sur 10 millions d'entrées prouve que :
▶️En PHP (Back-end) : Cacher la taille du tableau ($l = count($array)) est un impératif architectural pour la scalabilité. Le moteur Zend est "bête" et doit être assisté. 🔨
▶️En JavaScript (V8/Gecko) : Cacher array.length manuellement est une perte de performance (jusqu'à -21.9% mesurée). Le moteur est "trop intelligent" (LICM) et votre intervention perturbe son pipeline d'optimisation. 🤖
Ne codez plus à l'aveugle. Sortez de la micro-optimisation et entrez dans la maîtrise de l'architecture des moteurs. 🚀
▶️ Tous les résultats, les protocoles de test (CLI, headless, médiane) et les implications pour votre code, c'est ici :
https://lnkd.in/e8sQ_D6d
hashtag#PHP hashtag#JavaScript hashtag#V8 hashtag#Optimisation hashtag#Architecture hashtag#DevWeb hashtag#Techmastermind
Activez pour voir l’image en plus grand.
Réactions
Lien graphique pour voir le cadre de **Mathieu Pinatel**
like
Lien graphique pour voir le cadre de Lionel Armanet
insightful
Lien graphique pour voir le cadre de Ishoboravyose Herdotte Martine
like
Lien graphique pour voir le cadre de Anthony Janin
like
Lien graphique pour voir le cadre de M Masdoua
support
Lien graphique pour voir le cadre de Gabriel SARR
like
Lien graphique pour voir le cadre de Pierre-Henri Dupouy
insightful
Lien graphique pour voir le cadre de Michaël Lopez
like
Ajouter un commentaire…
Lien graphique pour voir le cadre de David Miolard
David Miolard Auteur
Fondateur de Techmastermind.fr | Développeur Senior & Formateur (IA, Web, Jeux)
11 h
Arnaud Courtecuisse, Lionel Péramo 🌳, Pierre Gradot, Cyprien GLEPIN, Jason Benedetti Vous aviez raison, ma première version n’était pas optimale.
J’ai pris vos remarques en compte et publié tous les résultats et le code complet dans cet article LinkedIn https://www.linkedin.com/pulse/benchmark-boucles-et-pipelines-retour-sur-mon-initial-david-miolard-eqqle
🔍Benchmark, boucles et pipelines : retour sur mon protocole initial
Je reviens sur mon précédent post où je laissais entendre que l’optimisation de en PHP ou de en JS n’était pas critique sur V8/Gecko. Après avoir refa
Lien graphique pour voir le cadre de Arnaud Courtecuisse
Arnaud Courtecuisse • 3e et +
Ingénieur Logiciel & militant pour le climat / 4,3 tCO2e en 2024
1 j
Cherchez l'incohérence :
- "Sortez de la micro-optimisation"
- "N'instanciez pas un nombre pour stocker la longueur de votre tableau"
1 réponse 1 commentaire sur le commentaire de Arnaud Courtecuisse
Lien graphique pour voir le cadre de David Miolard
David Miolard Auteur
Fondateur de Techmastermind.fr | Développeur Senior & Formateur (IA, Web, Jeux)
17 h
Arnaud Courtecuisse je plaide coupable pour cette incohérence manifeste (ça m'apprendra à poster avant d'aller dormir). Plus d'explications dans le commentaire plus haut.
Lien graphique pour voir le cadre de Lionel Péramo 🌳
Lionel Péramo 🌳 • 3e et +
Implémentez rapidement des solutions web performantes et durables pour les CTO avec ma bibliothèque frontend éco-responsable | Plus de 15 ans d'expertise
(modifié)
1 j
"Sortez de la micro-optimisation" Non. Le besoin de priorisation des optimisations n'élimine pas le reste du travail.
"entrez dans la maîtrise de l'architecture des moteurs" Oui, toujours bon de connaître comment ça marche un niveau en-dessous.
1 réponse 1 commentaire sur le commentaire de Lionel Péramo 🌳
Lien graphique pour voir le cadre de David Miolard
David Miolard Auteur
Fondateur de Techmastermind.fr | Développeur Senior & Formateur (IA, Web, Jeux)
1 j
Lionel Péramo 🌳, merci pour cette remarque hyper pertinente. Elle permet de clarifier mon propos :
"Sortez de la micro-optimisation" : Je ne dis pas que le travail de fond n'a pas de valeur, mais qu'il doit être déplacé et non abandonné. Le temps passé à cacher array.length sur V8 est du temps non passé à améliorer la complexité algorithmique globale ou à maîtriser l'architecture du framework.
Notre rôle de Senior Dev, ce n'est plus d'appliquer des best practices dogmatiques qui datent des années 90 (beaucoup d'idéologies numériques, de paradigmes imposés comme techniques), mais de distinguer l'optimisation à l'échelle architecturale (qui est cruciale pour la scalabilité) de la micro-optimisation nuisible (qui entrave les moteurs modernes).
"Maîtrise de l'architecture des moteurs" : Exactement ! C'est le cœur du sujet. Tant que vous ne savez pas si la boucle for est optimisée par LICM (Loop-Invariant Code Motion) dans votre moteur JS ou si elle est naïvement évaluée dans votre moteur PHP, vous tirez dans le noir.
Conclusion : Oui au travail, non à l'effort mal dirigé. Un bon développeur est celui qui sait où et quand intervenir. 💡
Au plaisir d'échanger sur les benchmarks !
Lien graphique pour voir le cadre de Pierre Gradot
Pierre Gradot • 3e et +
Senior Software Engineer
(modifié)
1 j
Votre article ne montre pas les codes vraiment utilisés pour les benchmarks... Et l'explication "ça perturbe la pipeline" est très floue. Vous avez quelque chose de plus précis à nous montrer ?
2 réponses 2 réponses au commentaire de Pierre Gradot
Lien graphique pour voir le cadre de David Miolard
David Miolard Auteur
Fondateur de Techmastermind.fr | Développeur Senior & Formateur (IA, Web, Jeux)
16 h
Pierre Gradot et Cyprien GLEPIN, vous avez entièrement raison sur ce point : le premier protocole était incomplet, notamment parce que je n’ai pas publié les scripts exacts. Mea culpa.
Quand je parle de “perturbation du pipeline”, je fais référence à deux phénomènes distincts :
Côté moteur JIT, les premières exécutions sont interprétées, puis optimisées à chaud. Cette phase crée une instabilité de mesure si on ne laisse pas le moteur “chauffer”.
Côté CPU, certaines boucles trop simples ou contenant des instructions neutres (NOP, etc.) créent des micro-blocages dans le pipeline (Fetch/Decode/Execute), ce qui fausse les écarts si la charge mémoire est trop faible.
Je vais publier dans les prochaines heures le code complet (PHP, V8, SpiderMonkey) ainsi qu’une version mise à jour avec un vrai jeu de données (1M d’entrées) pour garantir la reproductibilité et la solidité du benchmark.
Lien graphique pour voir le cadre de Jason Benedetti
Jason Benedetti • 3e et +
Engineering Lead chez Docler Holding Luxembourg
19 h
Pourtant c’est typiquement de la micro-optimisation selon moi. Perplexe.
Accessibilité : partiellement conforme
... système de partage d'images sous la forme d'un logiciel libre, utilisant le protocole ActivityPub, pour se fédérer au « Fediverse », lancé à la mi-avril 2018, par un développeur canadien, Daniel Supernault2,3. Il permet de partager des images avec Friendica4, Mastodon, Nextcloud, PeerTube, Pleroma, etc.. Comme c'est un logiciel libre et à source ouvertes, il est possible d'installer sa propre instance, tout en se connectant à cette fédération du Fédiverse5.
Il est parfois présenté comme une alternative à Instagram6,7,8 (de Facebook) et sa politique de censure3, dont il permet d'importer les données9.
Le système est développé dans le langage de script PHP et utilise le framework Laravel10.
Il utilise une interface utilisateur, appelée Compose UI permettant lors du chargement d'images de faire des modifications sur son aspect colorimétrique, il est également possible d'inclure les publications de PixelFed dans n'importe quelle page web, via la balise embed. Il comporte également des outils de modération et un concept appelé « stories », permettant d'échanger des histoires entre instances PixelFed ou autre instance ActivityPub supportant ce type d'activité (au sens d'ActivityPub)11.
Client tiers Une application Android est disponible pour interagir avec l'API de Pixelfed12.
Informations Dernière version 0.11.5 (25 mars 2023)1
Dépôt github.com/pixelfed/pixelfed
Écrit en PHP
Type Réseau social distribué
Service d'hébergement d'images (en)
Licence AGPL-3.0
Site web pixelfed.org
25 février 2010, par Francois Sauterey
phpPetitions est un logiciel destiné à créer un serveur de pétitions en ligne
Entrepr : hébergement et d’infogérance de serveurs sur mesure
Profil : logiciel libre, équipe ... Debian Gnu/Linux en déploiement automatisé avec un contact clients direct, ce qui implique du provisionnement / migration / mise à jour de machines et de de services, de l’écriture de code pour les outils et le monitoring ainsi qu’un travail de support à la complexité très variable.
...
Lieu : Paris 11e
Période d’essai : 4 mois renouvelable
Date de début : Dès que possible
Rémunération : entre 30 et 50K€ brut annuel (plus si profil expert)
Niveau : Bac +2 ou supérieur en informatique ou scientifique, ou autodidacte confirmé
Envoyer CV et lettre de motivation à recrutement@octopuce.fr
...
Administration système centralisée via Puppet : écriture de classes, tests, déploiement
Supervision via Nagios : écriture de checks, tests, déploiement
Développement des outils interne (panel client, graphs…)
... LAMP (Linux,Apache,MySQL,Php) ... hébergement (elasticsearch, redis, postgresql, lxc, kvm, docker…) ... langages d’administration système et web : bash, Php, python
Nos valeurs
Indépendance - Humanité & fiabilité - Qualité - Vision &
conviction
Nos métiers
- Audit et conseil
- Architecture et expertise
- Développement
- Formation industralisation PHP, Symfony, Elasticsearch, React, React Native, bonnes pratiques pour le développement front aujourd’hui, Responsive Design, etc.
Emplois autour de PHP, Symfony, Laravel, Elasticsearch, GraphQL, JavaScript, Node.js, Titanium Mobile ou encore React Native.
Invite à cv type http://composer.json.jolicode.com/
Créateur de bonheur et partage
animation de conférences ou de séminaires, contributions à des projets OpenSource, rédaction d’articles, que ce soit sur le Web ou dans des magazines spécialisés, investissement personnel dans des associations de développeurs, etc.
C’est quoi, JoliCode ?
En France…
SARL capital 10 000 euros, RCS de Paris numéro SIRET 750 647 810 00035, code APE 6202A.
18 avenue Parmentier 75011 Paris
En Suisse…
Sàrl société à responsabilité limitée capital CHF 20 000, registre du commerce numéro CHE-237.693.183.
Avenue d’Ouchy 4 - 1006 Lausanne
responsable de la publication Xavier Lacot, gérant
formulaire de contact
tél (+33) 1 43 57 39 11
Équipe d'experts des technologies Web et mobiles
- Xavier Lacot Gérant, expert Web et mobile
- Bastien Jaillot Associé, expert Web, magic fingers
- Benjamin Clay Associé, expert Web et Mobile, éleveur de licorne
- Damien Alexandre Associé, expert Web, Symfony et headbanging 🤘
- Alexandre Zerah Développeur Web fan de hip hop australien et future bass
- Anthony Maison Business developer
- Baptiste Adrien Chasseur-cueilleur d’octets
- Baptiste Leduc Consultant web & buveur de rhum
- Cécile Delmon Creative Front end Developer & world traveller
- Claire Coloma Experte Web et mobile, chocolate addict
- François Dume Artisan développeur Web
- Grégoire Pineau Web bidouilleur tendance Ops
- Joel Wurtz Expert Web et Symfony, cuisinier avec Chef
- Jonathan Levaillant Intégrateur / Développeur Front-End
- Laurent Brunet Développeur Web & Symfony, expert Minion
- Loïck Piera Expert trottinette d’intérieur et pilote de drone
- Mathieu Santostefano Développeur web, métalleux aux cheveux courts
- Matthieu Werner Consultant Web
- Paul Mallet Expert Web, formateur et buveur de whisky
- Quentin Brunet Développeur Web & Mobile (Symfony, React Native)
- Rozenn Bodin Chief Happiness Officer
- Suzanne Favot Développeur Symfony et React
- Thibault Lenclos Développeur rock&roll, représentant de la communauté rousse
- Vincent Desdoigts Expert Web et mobile
ndlr :
- connus / https://cap-collectif.com/a-propos/
- ravi de voir que le PHP vit encore