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