Oui enfin je vois toujours pas pourquoi on parle d'optimisation en fait...
Construire un truc qui marche vite c'est à la conception, à la réalisation puis à l'optimisation. Tes choix de design/structures/algo tu les fais pas après une fois que tu te rends compte benoitement que tu vas être deux ordres de grandeur en dessous des objectifs.
Regarde pourquoi les softs qui vont vite vont vite et tu as la réponse.
Quand PHK "invente" le B-Heap pour Varnish, c'est pas 10 ans après. C'est qu'il sait ce qui va coûter cher pour son soft, il sait comment fonctionne un OS et la VMM et il design en conséquence pour en tirer parti.
Quand Martin Thomson et ses potes concoivent le disruptor disruptor, ils connaissent très bien les problèmes qu'ont les autres approches. Ils concoivent dès le départ l'outil dont ils ont besoin pour créer leur archi.
Quand Linus créé Git, il design le truc pour que ca réponde à son besoin de perf.
Etc.
Je trouve qu'ily'a une grosse part d'expérience là dedans. Tu commences par te faire niquer à rattraper ce que tu n'as pas prévu à la base à coup de profiling et micro-optim, puis petit à petit tu arrives de plus en plus à discerner les points clés de tes produits, les ordres de grandeurs, les piègres techniques de tes environnements, et à concevoir autour d'eux. Si en plus tu sais comment fonctionne une machine, un OS et ton runtime tu es le roi du monde.
[^] # Re: quelques points
Posté par ckyl . En réponse à la dépêche De tout, de rien, des bookmarks, du bla bla #29. Évalué à 8.
Oui enfin je vois toujours pas pourquoi on parle d'optimisation en fait...
Construire un truc qui marche vite c'est à la conception, à la réalisation puis à l'optimisation. Tes choix de design/structures/algo tu les fais pas après une fois que tu te rends compte benoitement que tu vas être deux ordres de grandeur en dessous des objectifs.
Regarde pourquoi les softs qui vont vite vont vite et tu as la réponse.
Quand PHK "invente" le B-Heap pour Varnish, c'est pas 10 ans après. C'est qu'il sait ce qui va coûter cher pour son soft, il sait comment fonctionne un OS et la VMM et il design en conséquence pour en tirer parti.
Quand Martin Thomson et ses potes concoivent le disruptor disruptor, ils connaissent très bien les problèmes qu'ont les autres approches. Ils concoivent dès le départ l'outil dont ils ont besoin pour créer leur archi.
Quand Linus créé Git, il design le truc pour que ca réponde à son besoin de perf.
Etc.
Je trouve qu'ily'a une grosse part d'expérience là dedans. Tu commences par te faire niquer à rattraper ce que tu n'as pas prévu à la base à coup de profiling et micro-optim, puis petit à petit tu arrives de plus en plus à discerner les points clés de tes produits, les ordres de grandeurs, les piègres techniques de tes environnements, et à concevoir autour d'eux. Si en plus tu sais comment fonctionne une machine, un OS et ton runtime tu es le roi du monde.