Prime Numbers en Java, C & Rust

, par MiKaël Navarro

Comparaison en Java, C / Rust du crible d’Ératosthène.

Pour rappel la méthode du crible d’Eratosthène pour trouver les nombres premiers consiste à créer un tableau de booléens, où tous les nombres sont initialement considérés comme premiers.
Ensuite, on élimine les multiples de tous les nombres non premiers jusqu’à la racine carrée de n (nombre maximum de l’intervalle).

Ci-dessous les résultats des implémentations en Java, C / Rust tjrs sur mon Dell G5 5587 :

  • i7-8750H CPU @ 2.20GHz x 12 ; 16Gio Mem
  • Ubuntu 22.04 LTS
lang \ limite 100 000 000 1 000 000 000 10 000 000 000
java 1" 9" NumberFormatException !
c 1" 10" 2’
rust 10" 2’ 20’

Les résultats en Java et C sont similaires mais je ne m’explique pas les faibles performance en Rust !??