On 2010-09-10 07:16 PM, Daniel wrote:
This happens because the time it takes to SWITCH between one file to
another is significant. Ending one operation (a single file transfer)
and begining another takes a time slice. Summing up all these start
and finish ops takes a significant time slice.
I wonder if all this means compilation/build speeds cannot be improved much by introducing faster hardware.

To see what's happening in the bigger picture, I used 'Process Monitor' [ http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx ] and filtered out those I believed to be irrelevant to FPC/Lazarus build operation.

Here are the results I see on Process Monitor (An 'event' is Create/Open/Read/Write/Delete etc.).

I am pasting summaries below hoping it helps someone identify a bottleneck or something.

*Count of occurences by EventClass:*
File System: 324,958
Registry: 25,165
Process: 4,577

*Count of occurences by ProcessName: (Count: 12)*
ppcx64.exe: 275,003
make.exe: 27,825
rm.exe: 17,973
fpc.exe: 9,110
lazarus.exe: 6,742
gorc.exe: 6,719
conhost.exe: 5,034
gdate.exe: 3,122
pwd.exe: 1,483
startlazarus.exe: 1,102
csrss.exe: 946
cmd.exe: 786

*Count of occurences by Result:*
SUCCESS: 300,998
NO SUCH FILE: 26,919
NAME NOT FOUND: 15,446
BUFFER OVERFLOW: 3,110
REPARSE: 2,846
FILE LOCKED WITH ONLY READERS: 2,469
NO MORE FILES: 2,308
NAME INVALID: 667
PATH NOT FOUND: 538
NO MORE ENTRIES: 327
END OF FILE: 213
INVALID PARAMETER: 32
NOT REPARSE POINT: 10
NAME COLLISION: 7
IS DIRECTORY: 5

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to