This queue is for tickets about the PAR-Repository CPAN distribution.

Report information
The Basics
Id:
68477
Status:
open
Priority:
Low/Low

People
Owner:
Nobody in particular
Requestors:
MELEZHIK [...] cpan.org
Cc:
AdminCc:

BugTracker
Severity:
Wishlist
Broken in:
0.20
Fixed in:
(no value)



Subject: suggestion on speed up
Could you speed up PAR::Repository? For about 200 distros/modules (the repo structure is that one distro contain one cpan module) it takes for about 14 secs to get distros list: # time parrepo query distro /./ -r repo > /dev/null real 0m14.220s user 0m13.569s sys 0m0.548s --- # parrepo query distro /./ -r repo | grep '\.par' | wc -l 192
Hi, On Thu May 26 04:41:58 2011, MELEZHIK wrote:
Show quoted text
> Could you speed up PAR::Repository? > For about 200 distros/modules (the repo structure is that one distro > contain one cpan module) it takes for about 14 secs to get distros list: > > # time parrepo query distro /./ -r repo > /dev/null > > real 0m14.220s > user 0m13.569s > sys 0m0.548s
That seems particularly slow. I had a PAR::Repository with all almost ActiveState PPMs converted to .par distributions and that's much more.
Show quoted text
> # parrepo query distro /./ -r repo | grep '\.par' | wc -l > 192
If I remember correctly, the slowness in PAR::Repository is mostly because of the usage of DBM::Deep, which is a pure-Perl persistent storage. DBM::Deep has never been fast, but it slowed down considerably after I started using it for PAR::Repository because various complex features such as transactions were added. I'm pretty certain that the PAR::Rep. code itself could be sped up a bit, but not (easily) orders of magnitude. I will gladly accept patches, though. One possible avenue would be to offer multiple storage backends. Using SQLite as a faster, optional backend would be possible, but due to the very different API, it won't be easy. I currently have no resources to tackle this. As I said, patches are very welcome and I can also be of limited assistance. A first step might be to run Devel::NYTProf on the thing. Best regards, Steffen


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.