Re: [pygccxml-development] Re: recent changes to pygccxml\pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: Matthias B. <ba...@ir...> - 2006-03-06 14:42:17
|
Allen Bierbaum wrote: > I don't know if this would help you or not, but one thing I found that > helped my cache performance greatly (and was on of the reasons I > refactored the code to use md5 signatures) was that I could create a > temporary header file that included all the headers I wanted to parse. > Then I included that file instead of using a full "project" of header > files. This made it so gccxml only ran once and it removed all the > redundancy of seeing the same decls from multiple included headers. > This was able to help me take a parse that was around 2 hours down to > about 1.5 minutes. Overall a very good improvement in speed. :) Wow, you're right! Using a single temporary header I get the following timings: Without cache: 12s File cache: 4s (cache size: 3.1MB) Dir cache: 2s (cache size: 2.4MB) 2 seconds for parsing 222 header files is absolutely ok with me. :) And now I finally understand what the compilation mode ALL_AT_ONCE as opposed to FILE_BY_FILE actually does (unfortunately, it doesn't use the cache, so it's still more efficient to use FILE_BY_FILE and create a temporary header file manually. This should be fixed eventually and once this is fixed, ALL_AT_ONCE should probably be default). Now my new cache class is not as useful anymore as I thought, but as it's still smaller and faster than the file cache I committed it anyway. - Matthias - |