Necoro’s Blog

Blog? Blog? There is no blog…

Archive for August 2009

Portato 0.13 released

leave a comment »

So — there it is: the new Portato release :)

Changelog is here.

Feel free to use it — it still waits for inclusion in the portage tree, but this will happen in the next future, I’m sure.

Advertisements

Written by Necoro

August 26, 2009 at 12:24

Posted in Portato

Tagged with ,

Portato’s new C-Modules

leave a comment »

As I’ve written yesterday I created an eix cache parser. But … it was overengineered: It took like ages and was way slower than the normal portage way:


$ python -m timeit "import test; test.eix()"
10 loops, best of 3: 3.18 sec per loop
$ python -m timeit "import test; test.portage()"
10 loops, best of 3: 280 msec per loop

Thus I had to improve it: The first thing was to re-implement it using Cython. And step after step I ripped out features (in the original approach, the parser was lazy, i.e. only reading data if he needed to do so) and trimmed it down to what I really needed (opposed to being complete). Oh – and some C-level improvements :) (like using | instead of +).

Well: This is where I ended:

$ python -m timeit "import test; test.eix()"
10 loops, best of 3: 56 msec per loop

Now it is usable :)

Well — and while testing the new eix parser, I noticed, that Portato segfaults sometimes during shutdown. I thought the shm module the culprit and thus replaced the external dependency by a self-written module (again in Cython). And this also now uses message queues instead of shared memory — which is more intuitive and easier (no stupid locks and stuff). Seems to work up to now :)

Result: In the future, portato ships with C-Modules :) (hence the title

Written by Necoro

August 15, 2009 at 13:38

Posted in Portato, Python

Tagged with , , , , ,

EixReader for Portato

with one comment

Yay :) … I’ve finished the EixReader for Portato. It is now able to parse eix-files.

Now I only need to write a DB-Backend that makes use of it. And then some operations will be much faster — especially during startup, where the internal database is filled.

(Perhaps I am going to write a complete eix-Backend … thus not using portage for most operations… We’ll see)

Branch is here.

Written by Necoro

August 14, 2009 at 16:42

Posted in Portato

Tagged with ,

Portato 0.13 ahead

leave a comment »

(Long time no post :P)

Well – Portato 0.13 is lurking at the horizon. After half a year it is well about time for a new release. Unfortunately this one does not bring lots of new features (except some enhancements in the plugin system), but more or less only bugfixes.

I have currently three branches where I work on to implement new features (supporting use dependencies, supporting the eix database, reducing the memory footprint) – but all of them are quite complex (especially the first one), and I do not know when they are going to hit trunk …

Anyway: It would be great, if you could test the current beta (it’s in the overlay) – and perhaps send the one or other bugreport.

Oh – and I’d like to thank all the translators — and encourage everyone to translate into their favored language too :). (Currently we have: Turkish, Catalan, Spanish, Portugese, German, Polish). So – if you are interested, have a look at the Translating Guide.

Written by Necoro

August 12, 2009 at 13:17

Posted in Gentoo, Portato