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