On Tue, 24 Feb 2009 17:04:28 +0100 Luca Barbato wrote: > Ciaran McCreesh wrote: > > On Tue, 24 Feb 2009 08:08:23 +0100 > > Uh, your benchmarks are nonsense. > > Provide your nonsensical ones. You're doubling the number of files that have to be read for an operation that's almost purely i/o bound. On top of that, you're introducing a whole bunch of disk seeks in what's otherwise a nice linear operation. > > That is not how metadata checks work. > > Explain how they work, regen works that way... If metadata is valid, ebuilds aren't opened at all. An optimal implementation can slurp up the entire directory in one go and then start pulling out cache entries as it needs them, not having to go back to the ebuild directory or read its contents at all. Then it can open and read cache files in a carefully selected order to avoid having to do any more opens than necessary. > > By parsing the ebuilds you're talking doubling the number of file > > reads required to get the job done, and massively increasing the > > number of seeks required. > > Apparently it doesn't impact anything. Please show the patch you created (for Paludis, since Portage doesn't yet do a lot of the optimisations it could here) that demonstrates this. > > But that isn't even the main issue. The main issue is that even if > > you retroactively pretend that all ebuilds are in a format they're > > not, and ignore the breakage, and then wait for a year for package > > managers to try to parse your new format, you *still* can't change > > name or versioning rules. > > why? when portage would breanch if I put an ebuild with a wacky > version AND there is a valid cache for that telling its eapi 99 ? Because it has to parse that version. Also, the package manager can't tell whether or not a cache entry is valid if it doesn't recognise the EAPI in the cache entry. > > Again, these are all things that have been discussed at length > > previously. Please either come up with a legitimate technical > > objection, or admit that you've seen the light. > > the glep doesn't show any of those nor reference to it, as I said > before, do your homework and probably more people will be happier > with your proposals. Why should it? The C++ standard doesn't explain why you should use it instead of Java... -- Ciaran McCreesh