• # Peut-on faire de la perf avec Rust ?

    Posté par (site web personnel) . En réponse au journal Sortie de Rust 0.7. Évalué à 7.

    J'aime bien ce langage car j'y retrouve des traits de OCaml, ce qui n'est pas étonnant vu que le premier compilateur de RUST a été écrit en OCaml, il a été bootstrapé depuis.

    A jeter un oeil sur la sémantique du langage, il ne devrait normalement pas y avoir de difficulté à générer du code performant avec un tel langage :

    • On a aucun pattern d'héritage très compliqué, autrement dit, seul de l'héritage statique est à l'oeuvre. A condition d'être intelligent, soit ne pas faire de table de pointeurs de fonction, on peut faire de l'objet avec de la perf.
    • Les difficultés, qui sont d'optimiser le nombre.times() sont surmontable avec un bon pattern matching.
    • Je doute qu'il ait un algorithme capable de vérifier l'exhaustivité des cas de pattern matching comme en OCaml (on a les mêmes possibilités de définition de type somme avec ses enums), mais il n'a qu'à piquer l'algo de OCaml.
    • Avec toutes les informations de typage qu'il a, il peut optimiser pas mal de fonctions.
    • Avec un bon algo d'exécution partiel, on peut avaler tous le code déjà exécutable, donc faire comme les templates C++, mais automatiquement (exemple : ya l'algo de construction d'un automate de regexp dans le code, il a la regexp dans une chaine, il lui manque la chaine sur laquelle l'appliquer, il construit l'automate à la compilation).

    Bref, je pense que Rust peut raisonnablement s'approcher du 1,2 plus lent que c++

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker