Re: [pygccxml-development] Re: recent changes to pygccxml\pyplusplus
Brought to you by:
mbaas,
roman_yakovenko
From: Allen B. <al...@vr...> - 2006-03-06 15:02:25
|
Matthias Baas wrote: > 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). Interesting. I would like to hear more about that. I was never able to figure out what ALL_AT_ONCE did let alone get it to work. I have been creating my own temporary file in the wrapper generation script. Please tell me more. :) -A |