Andy Little wrote:
Of course If anyone can implement the dimensional-analysis part of pqs (in the Boost vault in The Physical Quantities Units directory) , such that it compiles faster than it does currently, by using mpl, then I will be happy to re-implement it using mpl.
If I recall previous posts correctly, the compile-time using MPL was 30 seconds, and using your own code 4 seconds. Is this really a good reason not to use MPL? I would understand if it were 30 *minutes* versus 4 seconds. But in this case you're gaining 26 seconds per compile at the price of writing some custom code that may or may not be as maintainable as MPL (not saying it isn't - I haven't looked at pqs). I think in general it's understood that C++ in general, and BOOST in particular, can tend to increase compile times, because they heavily invest in compile-time template logic. But as I see it, an extra 26 seconds per compile times, say, 1000 compilations (to be generous) on a given project, is about one man-day (really less: it's 7-1/4 hours; how many of us put in only that much in a given workday?). Do you think it takes less than a man-day to come up with an MPL replacement, even one that only handles a subset of the functionality? Maybe, but I think there's reason to be skeptical. Also, if MPL resulted in a 7-times slower *runtime* than custom code, then choosing not to use might make more sense. Is that the case? If so, I missed it. Anyway, not saying you made the wrong decision, just offering a possible alternative way to think about this. - James