2 ms·
The 10s delay is caused by the correct handling of dependency in a full source tree (around 5000 source files). It is the price of perfectionism. There is no s
by reacweb 9y ago
The 10s delay is caused by the correct handling of dependency in a full source tree (around 5000 source files). It is the price of perfectionism.
There is no simple repetitive make rules in the build system of the project I am on: all the rules are generated using macros. gnumake is a full scripting language that is dedicated to timestamp dependencies. It can manipulate easily lists of string (as long as they do not contain spaces). What are the advanced things that requires a better language ?
- jstimpfle 9y ago> The 10s delay is caused by the correct handling of dependency in a full source tree (around 5000 source files) There is something awfully wrong if processing 5000 files and cached dependendencies takes 10s. It should take a few ms at most, even if written in a scripting language like Python. I would not be surprised if this is because that build system heavily misuses GNU Make's variable substitution features, instead of being written in a language that features proper data structures (e.g. set, map)
- AstralStorm 9y agoHeck, even cmake does this better then without fancy data structures. My bet is this either does many shell calls or wildcards multiple times through file system.