• [^] # Re: Des choux et des carottes...

    Posté par (site web personnel, Mastodon) . En réponse au lien Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust. Évalué à 1.

    Ils sont tous relativement courts les codes proposés...

    Alors, si je comprends bien, tu gagnes 0.08s chez toi en remplaçant

    if (!isset($words[$word])) {
     $words[$word] = 0;
    }
    $words[$word]++;

    par (moins propre pour ne pas dire carrément crade)

    @$words[$word]++;

    ? Est-ce isset ou l'affectation qui plombe les performance ?
    Parce-que raccourcir pour raccourci abouti au genre de trucs qui font la mauvaise presse de PHP (qui pourtant, malgré la performance qui te déplait, laisse Python sur le carreau)
    En tout cas je n'aurais pas viré ce passage, et si c'est juste pour faire moins de ligne

    isset($words[$word]) ?: $words[$word]= 0;
    $words[$word]++;

    ou encore (après c'est une question de goût)

    !isset($words[$word]) && $words[$word] = 0;
    $words[$word]++;

    Et une réduction de 57.9% (de 0.19s à 0.11s) n'est pas vraiment 100% comme tu dis

    de toutes petites modifs comme celle que j'ai faites peuvent faire passer le résultat presque du simple au double (ou l'inverse)

    "It is seldom that liberty of any kind is lost all at once." ― David Hume