In OCaml all module level expressions are evaluated in order of their appearance. If you have some function that you designate as a "main" function*, then before this function is entered all modules on which module, containing "main" function, depends. So you need to find, whether you added some code, that evaluates before your main. * there is no such function as main function in OCaml. All modules are evaluated in the order of their occurrence on the compilation string. Usually, the order is defined by a build tool, like `ocamlbuild`, that will put the entry module in the last place, and topologically sort the preceding modules. P.S. I hope that this is not related to BAP? ;) On Fri, Jul 17, 2015 at 2:35 PM, Shuai Wang wrote: > Dear list, > > > I am working on some tools written in OCaml (compiled by OCaml version > 4.01.0). > > This morning I changed some code, compiled it and let it processing some > large data (~ 4G), it never stops after over 2 hours. > > I feed the tool with a tiny input which took less than 1 second to process > before, and I figured out that now it takes around 2.5 minutes before > entering into "main" function! > > I tried to clean the whole codebase, and recompile it ( I use ocamlbuild > 4.01.0), but the same wired situation still happens.. > > I did this: > > ltrace ./init.native input > > and I got this output flushing out for a very long time (sorry mail list > blocks my large image.. ): > > http://i.stack.imgur.com/sEkKk.png > > > > Is anyone aware this kind of issue before..? Am I messed up something..? > I have been working on OCaml for a relatively long time and I didn't > encounter this kind of stuff before... > > > Sincerely, > Shuai >