Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004870OCamlOCamlbuild (the tool)public2009-09-18 15:462015-12-02 16:05
Assigned Toxclerc 
PlatformOSOS Version
Product Version3.11.1 
Target VersionlaterFixed in Version 
Summary0004870: Ocamlbuild is too slow when using the "include" tag on many directories
Descriptionwhen there are lots of directories in your project, using "include" as an easy way to compile (given you don't have clashes between module names) leads to a very long time just to check what should be done: we got to more than 20 seconds in case there is nothing to do.
Additional InformationIt seems that every rule is duplicated for every possible directory, which may be at the root of the problem.

We could circumvent it by having a cleaner hierarchy: never use the tag "include", but build and link libraries instead, and use Pathname.define_context by hand for directories that need to work together.

Also, we had to add:
        dep ["use_"^lib; "byte"] [lib^".cma"];
        dep ["use_"^lib; "native"] [lib^".cmxa"];
for the internal libraries to be built correctly.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
ertai (developer)
2009-09-18 21:22

Do you have large/deep directories with a lot of non-source files?
If it's the case avoiding to traverse them may help.

"data_dir": -traverse

- Issue History
Date Modified Username Field Change
2009-09-18 15:46 louis New Issue
2009-09-18 21:22 ertai Note Added: 0005113
2011-05-31 16:33 doligez Status new => acknowledged
2011-06-06 13:02 xclerc Status acknowledged => assigned
2011-06-06 13:02 xclerc Assigned To => xclerc
2012-02-02 15:17 protz Category OCamlbuild => OCamlbuild (the tool)
2012-07-06 16:36 doligez Target Version => 4.01.0+dev
2012-07-31 13:36 doligez Target Version 4.01.0+dev => 4.00.1+dev
2012-09-06 19:22 frisch Target Version 4.00.1+dev => 4.00.2+dev
2013-06-16 18:33 gasche Target Version 4.00.2+dev => 4.02.0+dev
2013-06-16 21:25 gasche Severity major => minor
2013-07-12 18:15 doligez Target Version 4.02.0+dev => 4.01.1+dev
2014-05-25 20:20 doligez Target Version 4.01.1+dev => 4.02.0+dev
2014-08-20 19:10 doligez Target Version 4.02.0+dev => 4.03.0+dev / +beta1
2015-12-02 16:05 gasche Target Version 4.03.0+dev / +beta1 => later

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker