• [^] # Re: Pas équivalent

    Posté par (site web personnel) . En réponse au message Je veux bien que JavaScript soit optimisé, mais quand même !.... Évalué à 1.

    Les résultats sont très intéressants. C'est très différent pour chaque système.

    Pour les résultats: https://codeberg.org/zakuArbor/Wallis/src/branch/master/results
    * laptop: ordinateur portable (Lenovo X1 Carbon Gen 7)
    * pc: petit ordinateur (Mini Desktop PC M900)
    * rpi3: Raspberry Pi 3
    * *-spec.md: les spécifications et les versions des compilateurs

    Les Résultats Sur l'Ordinateur Portable

    La poste dernière, j'ai utilisé mon ordinateur portable. J'ai relancé le benchmark et les résultats n'ont pas changé. Les résultats pour le deuxième fois sont ici

    Les Résultats Sur Le Petit Ordinateur

    Pour mon petit ordinateur (pc), la différence entre la compilation de C avec Zig et GCC n'est pas petite aussi.

    Command Mean [s] Min [s] Max [s] Relative
    ./wallis_gcc1 1.670 ± 0.010 1.653 1.682 1.00 ± 0.01
    ./wallis_c 2.257 ± 0.010 2.245 2.269 1.35 ± 0.01
    ./wallis_gcc2 1.666 ± 0.010 1.650 1.677 1.00

    Mais les résultats entre JavaScript et ./wallis_c (avec la compilation de Zig), c'était choquant.

    Command Mean [s] Min [s] Max [s] Relative
    bun wallis.js 2.096 ± 0.141 2.016 2.372 1.26 ± 0.08
    ./wallis_c 2.245 ± 0.018 2.218 2.262 1.35 ± 0.01

    Pour tous les résultats: https://codeberg.org/zakuArbor/Wallis/src/branch/master/results/pc/pc-result.md

    Spécs:
    * Modèle du CPU: Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz
    * Taille de la mémoire RAM installée: 15Gi
    * Système d'exploitation: Fedora Linux 40 (Server Edition)
    * Nombre de coeurs: 4
    * Zig: 0.13.0
    * GCC: 14.1.1
    * Bun: 1.0.0

    Je ne comprends pas pourquoi ./wallis_c (avec la compilation de Zig) est plus lent. Si j'ai le temps, je vais analyser la performance avec perf et valgrind. La différence entre ./wallis_zig et JavaScript est petite, mais Zig est plus vite que Javascript. Il n'est pas surpris.

    Raspberry Pi 3

    J'ai obtenu les mêmes résultats avec votre CPU à 800MHz sur mon Raspberry Pi (à 1.2Ghz) pour la différence entre la compilation de C avec Zig et GCC.

    Command Mean [s] Min [s] Max [s] Relative
    ./wallis_gcc1 31.062 ± 0.002 31.058 31.065 1.00 ± 0.00
    ./wallis_c 31.062 ± 0.004 31.056 31.067 1.00 ± 0.00
    ./wallis_gcc2 31.061 ± 0.001 31.059 31.063 1.00

    Zig est le plus vite sur mon Raspberry Pi et JavaScript est le plus lent.

    Command Mean [s] Min [s] Max [s] Relative
    bun wallis.js 39.493 ± 0.003 39.490 39.499 1.43 ± 0.00
    ./wallis_c 31.031 ± 0.008 31.026 31.053 1.12 ± 0.00
    ./wallis_zig 27.674 ± 0.003 27.671 27.680 1.00
    ./wallis_gcc1 31.027 ± 0.002 31.026 31.030 1.12 ± 0.00
    ./wallis_gcc2 31.027 ± 0.002 31.026 31.032 1.12 ± 0.00

    Spécs:
    * Modèle du CPU: Cortex-A53
    * Taille de la mémoire RAM installée: 907Mi
    * Système d'exploitation: Debian GNU/Linux 12 (bookworm)
    * Nombre de coeurs: 4
    * Zig: 0.13.0
    * GCC: 12.2.0 (Il y a un problème avec mon script, j'ai écrit la version ici mais dans le répo, il n'y a pas la version)
    * Bun: 1.0.0