29 Apr 2006
(updated 30 Apr 2006 at 11:51 UTC) »
Long time no blogging. Hmm, maybe I should work on that more.
So, I have some news and discoveries here.
wxWidgets and Google Summer of Code
wxWidgets has been accepted as a Google Summer of Code Mentoring Organization. And guess what, I'm a possible mentor :)
I did some quick (and lame) elaborations on some of the items on our project ideas list. I'll do some better elaboration on the items that I have knowledge about once I've slept and had my morning coffee after that :) Perhaps I'll also add some, will have to think about possible projects a bit more deeply.
So, if you qualify for the Google Summer of Code as a student and have some interest towards our great cross-platform framework, make sure to check the list out regularly and stay tuned! Other mentors are hopefully working on elaborating on the worthy ideas as well, but you could of course always have your own, too! Check Google's SoC Students FAQ about that, I guess.
Me, wxWidgets and Gentoo Linux
I was contacted by a Gentoo developer a while back with a query if I'd be interested in helping maintain the wxWidgets related ebuilds in Gentoo's portage tree. Seeing the sad state of wxWidgets in Gentoo, and having thought about helping out earlier, I of course agreed, and we've version bumped wxGTK and wxPython to 18.104.22.168 version by now in unstable and some application version bumps as well, together with clean-ups to the ebuilds in question. Now I have this ebuild quiz here... we'll see what happens related to that ;)
The sad state of wxWidgets related packages in Gentoo is hopefully over soon.
Linux-2.6.16 and cold benchmarking
I stumbled on a easy to parse list of new stuff in Linux, and found out that Linux-2.6.16 has now support for dropping the clean caches, dentries and inodes from memory, causing that memory to be free. This effectively means that there is an end to the ugly hacks some of us in the performance and benchmarking crew (GNOME rockstars) were doing to do benchmarks with a cold disk cache. Reading large unrelated files to get the relevant-to-benchmark disk data out of RAM and other dirty things.
Just "echo 3 >/proc/sys/vm/drop_caches" with a 2.6.16 or newer kernel, and all the disk cache and other stuff is gone with the wind. The multiload_applet-2 also instantly shows the effect - the buffers and cached memory color is replaced with the color for "free memory" :)
From kernelnewbies.org the description: "Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first (commit)"
Of course there is lots of hot cache benchmarking to do, lots of low hanging fruit to pick in the performance land. So cold benchmarking isn't all that interesting just yet. Nevertheless this thing can be helpful once in a while.
That's it folks. Someone should beat me to blog more often, or something.