Luca Barbato wrote:
Ciaran McCreesh wrote:
Because your proposal addresses none of the underlying problems which
GLEP 55 was created to solve.

let's get some numbers to have an idea of the dimension of the problem.

domino portage # wc -l /dev/shm/eapi_files.list
2854 /dev/shm/eapi_files.list

domino portage # ls *-*/*/*.ebuild | wc -l
25761

domino portage # grep -l EAPI eclass/*.eclass | wc -l
22

domino portage # ls eclass/*.eclass | wc -l
240

there aren't eclasses setting EAPI directly.

eapi is set either using EAPI=X or EAPI="X"

domino portage # time grep EAPI *-*/*/*.ebuild > /dev/shm/eapi_files.list

real    0m1.019s
user    0m0.608s
sys     0m0.412s

domino portage # time (for a in *-*/*/*.ebuild*; do echo ${A##*.ebuild}; done) > /dev/null

real    0m0.916s
user    0m0.764s
sys     0m0.152s

domino portage # time emerge --regen > /dev/shm/regen

real    0m9.308s
user    0m7.648s
sys     0m1.664s


Restricting eapi so it could surely parsed using something as
complex as grep would and using a two stage parsing would increase to about 1/9

Using a dumb way to extract the eapi from extension seems to take 1/10

Is there any technical merit in putting eapi in the file extension while we could restrict the format the same way in file and have about the same, negligible, performance hit? (I used warm cache since you need the file anyway so you don't spend time to look it up twice or put it in cache twice)

Please come up with other numbers or saner implementations to compare.

lu

--

Luca Barbato
Gentoo Council Member
Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero


Reply via email to