Am Freitag, den 13.09.2013, 16:48 +0100 schrieb Mark Shinwell: > Large OCaml programs can experience performance degradation due to high > garbage collection loads (or possibly due to it being Friday 13th). > Understanding the memory usage of such programs can also be difficult. > > To this end, I am pleased to release a version of OCaml 4.01 that > contains functionality for the memory profiling of native code programs, > for the x86-64 architecture. Currently it is only fully working on Linux > platforms, but there should be a version for Mac OS X in the near future, > and the BSDs. > ... > The runtime system for this compiler contains instrumentation that can > produce a global analysis showing the total number of words allocated > on the OCaml heaps by source location. This works not only for blocks > allocated in OCaml code but also in C stubs. Further, values are > instrumented---without space overhead---in order to be able to determine > from a snapshot of the heap which value was allocated where; and also > to provide a runtime API that can be queried from the instrumented > program itself. A dumb question: how do you do the value instrumentation? Without space overhead? There is not much information in the value itself... do you track value relocations? Gerd -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------