-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Slower compilation 4.07 => 4.08 #8776
Copy link
Copy link
Closed
Description
This is to document one case of significant degradation in compilation time between 4.07 and 4.08, on a synthetic example (originally created to stress-tess #8774). In case someone wants to investigate further...
Results:
- 4.07: 10s
- 4.08, trunk: 19s
Reproduction:
After a make world, run:
boot/ocamlrun ./ocaml -I stdlib gen.ml > bar.ml && time boot/ocamlrun ./ocamlc -I stdlib -c bar.ml
with gen.ml:
let n1 = 200
let n2 = 200
let n3 = 40
let () =
let f () =
for j = 1 to n2 do
Printf.printf "method f%i = ()\n" j
done
in
print_endline "type t = A: 'a -> t";
for i = 1 to n3 do
Printf.printf "let a%i = object\n" i;
f ();
Printf.printf "end\n"
done;
print_endline "let f x =";
for i = 1 to n1 do
print_endline "match x with A _ ->";
done;
for i = 1 to n3 do
Printf.printf "a%i," i;
done;
print_endline "()"Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels