• # premature optimization is the root of all evil

    Posté par . En réponse au message Compilateur "streamé". Évalué à 7. Dernière modification le 25 mars 2013 à 10:27.

    Est-ce que y a des grosses failles qui font que c'est de la grosse merde?

    Bah déjà, pour peu que ton makefile soit bien fait, tu ne vas pas tout recompiler à chaque fois, seulement le différentiel.

    Ensuite, j'ai un doute sur le fait que la création des process pèsent lourd face à la phase de compilation.

    Par exemple, voilà le résultat d'un benchmark d'une compilation clean de Python :

    time :

    real 1m36.857s
    user 1m28.322s
    sys 0m6.429s
    
    

    strace -c -f :

    % time seconds usecs/call calls errors syscall
    ------ ----------- ----------- --------- --------- ----------------
     99.29 41.756190 9054 4612 1679 wait4
     0.27 0.112962 21 5259 3232 execve
     0.10 0.041814 20 2108 clone
     0.07 0.028498 1 55672 write
     0.05 0.022086 0 92638 read
     0.04 0.015907 0 114234 66266 open
     0.04 0.015722 114 138 rename
     0.04 0.015164 14 1106 201 unlink
    
    

    La grosse majorité est passé en userland, et le reste contient les I/O, etc. Donc fork()/exec() & Co ne pèsent pas lourd, sans compter que dans ton approche il y aurait aussi beaucoup d'IPC qui n'est pas gratuit non plus…