On 03/30/10 04:10, Michael Meeks wrote:

On Tue, 2010-03-30 at 11:52 +0100, Jamie Bennett wrote:
It would be interesting to hear Auke Kok's reasoning behind choosing
to re-implement rather than take an already existing solution.

        FWIW - my personal take is that Auke is sufficiently sharp, that it is
actually rather easier and quicker for him to re-write than work with an
existing code-base.

        It is almost always more work to re-use than re-implement, in this case
I had to learn some python to get the best bootchart pieces pulled
together :-) that took me a little time. Intel's bootchart is very
small, pure C, has no dependencies etc. There are plenty of
semi-technical arguments you can make in it's favour.

That sums it up a bit.

There were several issues, and most were rather trivial for me to solve by going to a single C-based implementation:

- we can graph SVG data without any libraries (Python, Java etc), which makes this usable in any deployment
- everything can read SVG (browsers)
- we can frob <!-- comments --> in SVG putting more numerical information if we want (flexibility).

As for the logger rewrite: it didn't make much sense to me to write out several megabytes to a slow SSD, then re-read it all again to graph. The obvious conclusion was to log in memory, and graph from there. This solves several issues (no need to use tmpfs, buffered files etc).

So, altogether this was worth it for us to do.

What I did before I wrote this version:

1) hack pybootchartgui to include all sorts of display options I was missing
2) rewrite the logger in C
3) re-use the ubuntu logger written in C

Then I got stuck on the "glue logger and grapher into one program without java/python" idea, which seemed ideal for embedded/small platforms, and ultimately started from scratch.

Auke

_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev

Reply via email to