PR# 18939 [RJ] Size of C folders

Problem Report Summary
Submitter: axarosenberg
Category: C Compilation
Priority: Low
Date: 2014/08/08
Class: Feature Request
Severity: Non-critical
Number: 18939
Confidential: No
Status: Open
Environment: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Synopsis: [RJ] Size of C folders

Currently, it appears that you try to put no more than 100 files in a C folder without regard to the size of the files.  Apparently there are rules that force the creation of a new folder even if the 100 limit has not been reached.

We have a few very, very large Eiffel source files.  These are machine generated parsers.  The parsers seem to get collected into the same C folder (they have a common ancestor).  The speed of the resulting C compilation is all out of proportion to the others.  I just got a new machine which is kicking off 12 C compilations at a time and they take just a few seconds each.  But the big one takes 5 minutes!  At the end, I have 11 processors idle and one still working.  The folder contains two huge files and about 85 small ones.  The largest takes half the space, the second, one quarter (in bytes).  The solution would be to put only one large C file per C folder.

Some potential rules:
   o No more than X lines of code (C? Eiffel?) per folder.
   o All files larger than X lines of code get a private C folder.
   o Same as the two above but use C file size (preferred).

My largest file:
   33009 Eiffel lines
   100159 C lines (F_Code, W is much larger)
   C source = 3.9 MB

My second largest file:
   26003 Eiffel lines
   100342 C lines (F_Code, W is much larger)
   C source = 6.4 MB (strange that this is so much larger)

I used TreeSize Pro to perform this investigation.  For the project I am working on, the F_Code folder contains 176 C folders.  The average size is less than 1 MB but one folder is 14 MB (I've excluded the .lib's).


To Reproduce

Problem Report Interactions