So this is probably a dummy question, but I’m currently trying to investigate a bizarre performance issue while using the flambda compiler, and I have added -inlining-report
to ocamlopt_flags
in my dune build file (see monad_perf_bench/bin/dune at master · haoxuany/monad_perf_bench · GitHub ). However, I don’t see any files generated for this. Has the documentation for dune or flambda since changed or is there something obvious that I have missed?
Thank you!
sim642
February 28, 2024, 7:11am
2
Look into _build/default/
. Subdirectories like .something.objs/native/
do contain .0.inlining.org
files when I add the option.
Ah actually you’re right, I forgot that tree
hides dot files by default. Thank you!
Hm, would you happen to have specific build steps or compiler setup for this? Since this is what happens when I do a build:
$ cat bin/dune
(env (dev (flags (:standard -warn-error -A))))
(executable
(public_name monad_perf_bench)
(name main)
(ocamlopt_flags (:standard -O3 -inlining-report -rounds 7 -unbox-closures
; -dflambda-verbose
))
(libraries core_bench core_unix.command_unix iter)
)
$ dune clean
$ dune build
$ tree
.
├── Makefile
├── README.md
├── _build
│ ├── default
│ │ ├── META.monad_perf_bench
│ │ ├── README.md
│ │ ├── bin
│ │ │ ├── main.exe
│ │ │ ├── main.ml
│ │ │ ├── main.mli
│ │ │ ├── monad_cont.ml
│ │ │ ├── monad_prod.ml
│ │ │ └── monad_sig.ml
│ │ ├── monad_perf_bench.dune-package
│ │ ├── monad_perf_bench.install
│ │ └── monad_perf_bench.opam
│ ├── install
│ │ └── default
│ │ ├── bin
│ │ │ └── monad_perf_bench -> ../../../default/bin/main.exe
│ │ ├── doc
│ │ │ └── monad_perf_bench
│ │ │ └── README.md -> ../../../../default/README.md
│ │ └── lib
│ │ └── monad_perf_bench
│ │ ├── META -> ../../../../default/META.monad_perf_bench
│ │ ├── dune-package -> ../../../../default/monad_perf_bench.dune-package
│ │ └── opam -> ../../../../default/monad_perf_bench.opam
│ └── log
├── bin
│ ├── dune
│ ├── main.ml
│ ├── monad_cont.ml
│ ├── monad_cont.ml~
│ ├── monad_prod.ml
│ ├── monad_prod.ml~
│ ├── monad_sig.ml
│ └── monad_sig.ml~
├── dune-project
└── monad_perf_bench.opam
11 directories, 29 files
What happens if you do find _build | grep inlining
?