Faster implementation of sbopkg's sqg queue file generator.
It's written in python and is available at GitHub.
It's faster than the bash script that now comes with sbopkg. Both runs are on my main desktop, running Slackware64 14.2. The bash script with sbopkg... Code:
time /usr/sbin/sqg -a Code:
# time /usr/bin/sqg -a |
Quote:
|
Right now it does. If I dig a little into setuptools, I am fairly certain that it can be changed to /usr/sbin. This way, at least, people can install this one in parallel with the one that comes with sbopkg.
|
hoorex (available through SBo and source code at https://github.com/cwilling/hoorex) also uses python to do this sort of stuff. After setting up a cache of build dependencies, accessing results is close to instantaneous:
chris@d6:~$ time hoorex -r1 -g all > all.sqf real 0m0.223s user 0m0.219s sys 0m0.003s That doesn't include prior calculation of the cache contents (which I do once a week after the SBo repo is updated). That would be: chris@d6:~$ time hoorex -f real 0m17.448s user 0m0.469s sys 0m0.560s It takes ~17 seconds only because my default slackbuilds tree is on an nfs mounted directory. It's much faster when on a local file system: chris@d6:~$ time hoorex -f -s /tmp/slackbuilds real 0m0.333s user 0m0.269s sys 0m0.054s chris |
Yeah, I didn't bother to pickle the results.
I didn't know about hoorex; I might steal your regex over a generic solution (that, frankly, I already had on hand). Having quickly waded through the hoorex license, I'll ensure to credit you for anything that I abstract from your code base. |
No worries.
I haven't looked at the detail of the regex itself for a while - it may be more complicated than absolutely necessary. I wanted to deal with the possibility of additional fields in the .info files which might express different dependency relationships. In particular, fields which then include other fields e.g. PREREQS="foo bar $REQUIRES" chris |
a little bit OOT, but it seems sqg is faster in current
Code:
real 1m13.693s |
What filesystem type? Is there raid underneath? SSD?
Hmm. I'll have to run /usr/sbin/sqg on my testbed rig (currently Slackware64 14.2) to get timings, upgrade to -current and see the delta. Probably later this week. Turns out that I never converted my testbed from -current to 14.2. I'm still using sbopkg-0.38.0-noarch-1_wsr on that box. Running /usr/sbin/sqg -a over the 14.2 repo did not show anything like your speedup. When I configured sbopkg to use the -current repo in github, I got Code:
root@testbed:~# time sqg -a Here's my results on a Slackware64 -current setup, using the 14.2 repo data: Code:
root@testbed:~# time sqg -a Code:
root@testbed:~# time /usr/bin/sqg -a -s Code:
root@testbed:~# uname -a |
All times are GMT -5. The time now is 06:53 PM. |