• [^] # Re: Un bench vaut ce qu'il vaut

    Posté par . En réponse au journal Javascript plus rapide que python ! (une suite possible). Évalué à 3.

    J'ai fait le bench avec OCaml, et le code natif est plus rapide que le C compilé avec gcc sans optimisations, par contre il y a un facteur deux en faveur du C avec -O3.


    let entries = 10000

    let loop entries =
    let d = Array.make entries 1 in
    for i = 2 to pred (entries / 2) do
    let j = ref (2 * i) in
    while !j < entries do
    d.(!j) <- d.(!j) + i;
    j := !j + i
    done
    done;
    for i = 0 to entries - 1 do
    if d.(i) < entries && d.(d.(i)) = i && i <= d.(i) then
    Printf.printf "%i %i\n" i d.(i)
    done

    let () = for i = 0 to 100 do loop entries done


    Par contre c'est clairement pas une manière fonctionnelle d'écrire les choses, et habituellement, je n'utilise jamais les boucles for et while en OCaml.