• [^] # Re: quelques points

    Posté par . En réponse à la dépêche De tout, de rien, des bookmarks, du bla bla #29. Évalué à 3.

    Plus sérieusement si tu en es à ce niveau d'optimisation, c'est que tu n'as plus grand chose d'autre à optimiser, voire que tu as du temps à perdre...

    Oui, on me paie par ce que c'est cool de perdre du temps sur des trucs totalement inutiles pas par ce que mon boulot à un sens !

    sauf bien sur si tu te balades avec des tableaux de dizaines/centaines de milliers d'entiers

    Tu es sur la bonne piste.

    Quand tu sors de la "webapp lambda" ou du script, tu as souvent ce genre de contraintes:

    - SLA type X rêquetes/s ou jitter < 40ms
    - Besoins business qui poussent très fort la technique
    - Ne pas gacher XXXK€ de matos quand ca coûte moins cher à fixer en soft
    - Etc.

    C'était bien le sens de mon message à la base sur "yatoudanlélib". Finalement ayant bossé dans quelques secteurs/technos différents, j'ai toujours eu à me sortir les doigts sur l'algorithmique et l'implémentation à un moment ou l'autre. C'est aussi ca qui fait la différence entre une bouse et un truc qui marche ou qui coute 100x plus cher en ops. Notre métier c'est de comprendre ce qu'on attend et de proposer ce qui semble le meilleur choix, c'est un équilibre entre:
    - Penser "hors de la boîte" pour prendre le problème de la manière la plus intelligentes ou enlever les contraintes non dures.
    - Du design de haut niveau
    - Du design de bas niveau
    - Savoir coder
    - Savoir ne pas coder et acheter du matos

    Si la solution simple fait le job, on fait la solution simple et on passe à la suite.

    Pour mon métier actuel ca veut aussi dire: Est ce qu'on optimise du code séquentiel par ce qu'en grattant un ou deux ordres de grandeurs ca va passer ou est ce qu'on distribue le tout sur X machines (le coût en engineering se pose la aussi) ? Un footprint mémoire x4 ou x9 ca peut aussi vouloir dire passer d'une machine à XXX, tu te mets à taper du disque et du réseau alors que c'était CPU bound et le coût en matos est pas linéaire du tout. Ou simplement ne plus être capable de livrer ce qu'on te demande.

    sauf bien sur si tu te balades avec des tableaux de dizaines/centaines de milliers d'entiers, mais là le problème est peut être en amont

    Oh tu recommences à me prendre pour un âne ;) Tu veux jouer ?

    Il y a des cas où ça te fait vraiment ch** ok, mais rien ne t'empêche de le coder à la main.

    Bien sur. Si tu remontes la discussion, tu verras que c'est ce que je fais et que tu me proposais une juste solution impossible à un exemple particulier ;)

    Maintenant si je ne codais qu'un sort par ce que y'a pas dans la lib standard je me ferais bien chier...