On 11/08/2014 10:53 PM, Andrew Savchenko wrote:
> On Sat, 08 Nov 2014 15:45:30 -0800 Zac Medico wrote:
>> On 11/08/2014 03:33 PM, Patrick Lauer wrote:
>>> We can choose for "code that works reasonably fast" - portage hasn't
>>> gotten any noticeable work on performance in a while, and people have
>>> just piled on more and more features and complexity.
>>
>> Yes, as one of only 2 people who have worked on the resolver in recent
>> history, I agree with your statement. There have been lots of features
>> added (including EAPI 5 sub-slot rebuilds), with not much thought to
>> performance tuning. It will be interesting to do some profiling and see
>> what we can improve.
>>
>>> There's no reason that it takes a minute to start up,
>>
>> If it takes a minute then it probably means that
>> /var/cache/edb/vdb_metadata.pickle got deleted. In that case, it has to
>> reload lots of metadata from /var/db/pkg/*/*/*.
> 
> On old hardware it may take dozens of minutes of CPU time. I have
> that *.pickle files, I have sqlite metadata cache, I have 100% CPU
> usage. It's not an I/O problem. Just take into account that due to
> instruction set, Lx cache, frequency and memory speed difference
> old CPU-based system may be 20x times slower than recent one.

It could be useful for us to collect profiling data generated on old
hardware. If you'd like to help, you can use python's cProfile module to
generate statistics for us to analyze. The statistics can be nicely
visualized as a shaded call graph by using gprof2dot and graphviz [1].

[1]
http://grasswiki.osgeo.org/wiki/Tools_for_Python_programming#cProfile_profiling_tool
-- 
Thanks,
Zac

Reply via email to