Fix benches

This commit is contained in:
Jacques-Pascal Deplaix 2017-12-01 09:28:54 +00:00
parent a01a81667b
commit d15a41fa3f

View file

@ -280,7 +280,7 @@ module Arr = struct
let a2 = Array.copy a1 in let a2 = Array.copy a1 in
sort_std a1; sort_std a1;
quicksort ~limit:10 a2; quicksort ~limit:10 a2;
assert (a1 = a2)) assert (CCArray.equal CCInt.equal a1 a2))
[ 10; 100; 1000] [ 10; 100; 1000]
let bench_sort ?(time=2) n = let bench_sort ?(time=2) n =
@ -1154,7 +1154,7 @@ module Str = struct
and mk_current () = CCString.find_all_l ~sub:needle haystack and mk_current () = CCString.find_all_l ~sub:needle haystack
and mk_current_compiled = and mk_current_compiled =
let f = CCString.find_all_l ~start:0 ~sub:needle in fun () -> f haystack in let f = CCString.find_all_l ~start:0 ~sub:needle in fun () -> f haystack in
assert (mk_naive () = mk_current ()); assert (CCList.equal CCInt.equal (mk_naive ()) (mk_current ()));
B.throughputN 3 ~repeat B.throughputN 3 ~repeat
[ "naive", mk_naive, () [ "naive", mk_naive, ()
; "current", mk_current, () ; "current", mk_current, ()
@ -1168,7 +1168,7 @@ module Str = struct
pp_pb needle haystack; pp_pb needle haystack;
let mk_naive () = find_all_l ~sub:needle haystack let mk_naive () = find_all_l ~sub:needle haystack
and mk_current () = CCString.find_all_l ~sub:needle haystack in and mk_current () = CCString.find_all_l ~sub:needle haystack in
assert (mk_naive () = mk_current ()); assert (CCList.equal CCInt.equal (mk_naive ()) (mk_current ()));
B.throughputN 3 ~repeat B.throughputN 3 ~repeat
[ "naive", mk_naive, () [ "naive", mk_naive, ()
; "current", mk_current, () ; "current", mk_current, ()
@ -1182,7 +1182,7 @@ module Str = struct
let rec same s1 s2 i = let rec same s1 s2 i =
if i = String.length s1 then true if i = String.length s1 then true
else ( else (
String.unsafe_get s1 i = String.unsafe_get s2 i && same s1 s2 (i+1) CCChar.equal (String.unsafe_get s1 i) (String.unsafe_get s2 i) && same s1 s2 (i+1)
) )
in in
String.length pre <= String.length s && String.length pre <= String.length s &&
@ -1193,7 +1193,7 @@ module Str = struct
begin begin
let i = ref 0 in let i = ref 0 in
while !i < String.length pre && while !i < String.length pre &&
String.unsafe_get s !i = String.unsafe_get pre !i CCChar.equal (String.unsafe_get s !i) (String.unsafe_get pre !i)
do incr i done; do incr i done;
!i = String.length pre !i = String.length pre
end end
@ -1225,7 +1225,7 @@ module Str = struct
else else
let rec loop str p i = let rec loop str p i =
if i = len then true if i = len then true
else if String.unsafe_get str i <> String.unsafe_get p i then false else if not (CCChar.equal (String.unsafe_get str i) (String.unsafe_get p i)) then false
else loop str p (i + 1) else loop str p (i + 1)
in loop str p 0 in loop str p 0
@ -1256,7 +1256,7 @@ module Str = struct
Array.iteri Array.iteri
(fun i (pre, y) -> (fun i (pre, y) ->
let res = f ~pre y in let res = f ~pre y in
assert (res = output.(i))) assert (CCBool.equal res output.(i)))
input input
in in
Benchmark.throughputN 3 Benchmark.throughputN 3