• [^] # Re: dommage

    Posté par . En réponse au journal The Future of Functional Programming Languages. Évalué à 1. Dernière modification le 23 octobre 2012 à 01:24.

    avec les options d'optimisations:
    D:

    allocation: 16 ms, 768 μs, and 5 hnsecs 
    random: 11 ms, 765 μs, and 4 hnsecs 
    result: 46654920000
    scalar products: 5 secs, 358 ms, 999 μs, and 7 hnsecs 
    
    

    CPP:

    allocation: 3 ms
    random generation: 8 ms
    result: 29248300000
    time: 3489 ms
    
    

    le programme cpp est légèrement plus rapide toutefois le code est stricto sensu le code cpp ce qui introduit un biais car le code D fournit :

    • réalloue à chaque tour de bloc la taille du tableau!!
    • Le tableau pourrait être statique afin de pouvoir utiliser les instructions SSE4
    • l'approche fonctionnelle avec notamment map aiderait sensiblement les performances
    • N devrait être immutable
    • size_type devrait être size_t pour supporter 32 et 64 bits
    • les param de scalar_product :
      • changer const ref en in
      • mettre la fonction comme pure

    et j'en passe
    Un même code peut être transcrit presque litterralement dans plusieurs langage cependant il y a des subtilités qui vont produire des différences significatives