On 01/02/2014 04:19 PM, Peter Dimov wrote:
Peter A. Bigot wrote:
Ack. FWIW, that's not how I see submodule-based git projects in the general case. If most Boost modules are independent (are they?),
No. I'd say that the probability for two randomly selected submodules to be independent is not above 50% (although I haven't actually done the math). Boost libraries tend to depend heavily on other Boost libraries.
After some analysis I agree: Boost libraries are much more highly coupled than I had guessed. The stats for the number of modules a given module depends on are: 114 samples from 0 to 46 ; sdev 9.18514 amean 13.7105 ; gmean 11.6043 ; hmean 8.13638 median 13 ; mode 6 occurs 7 times and the stats for the number of modules a given module supports are: 114 samples from 0 to 102 ; sdev 20.5803 amean 13.1579 ; gmean 6.82233 ; hmean 3.13355 median 5.5 ; mode 0 occurs 20 times For example, lib/graph uses 46 other modules, lib/config is used by 102 other modules, and there are 20 modules that are unused by any Boost library (including all seven tools/* modules). I don't want to waste anybody's time (including my own) pro-actively documenting the exact details of what I did, though I may clean up the tool and submit it for incorporation into some existing module if there's strong interest. (It uses Boost.Filesystem and Boost.Regex, and would use Boost.Graph if completed. It may be that the information could be extracted using Boost.Build, too; I didn't try to figure that out.) Peter