On Sun, 2010-02-28 at 20:11 +0000, Alan McGovern wrote:
Apologies if anyone gets this twice, i think it was rejected the first time: Personally, I use tomboy a lot. I'd use it even more if only I had a working synchronisation method for my laptop and work desktop. Now for something slightly more technical ;) The simplest way to decrease startup time is to AOT the mono assemblies and also the tomboy assemblies. This will also reduce memory usage if you have multiple mono applications running at the same time (banshee + tomboy anyone?) as the AOT'ed data can be shared exactly as if it were a standard native library. If someone is interested in getting some hard figures about required startup time they could benchmark: 1) Cold start tomboy (nothing is AOTed) 2) Cold start tomboy (AOT-ing all tomboy assemblies first) 3) Cold start tomboy (AOT-ing all .NET libraries as well as tomboy libraries first) 4-6) Warm start of the above. This is likely to be pretty time-consuming as the only way I know to reliably 'cold start' an application is to reboot ;) It would also require you to put in an "Application.Quit ()" inside tomboy so that as soon as everything loads, it exits, thus allowing you to easily measure the startup time.
"echo 3 >/proc/sys/vm/drop_caches"
If your kernel is 2.6.16 or later this will toss the contents of the
disk block cache, inode cache, and dentries cache. [Run "sync" first to
minimize the number of dirty pages that cannot be dropped]. This is
extremely useful for benchmarking.
Witness [after stopping Tomboy, removing it from the panel]
$ sync
$ sleep 2 # Allow the sync to drain
$ sudo /bin/sh -c "/bin/echo 3 >/proc/sys/vm/drop_caches"
$ time tomboy --version
Tomboy: A simple, easy to use desktop note-taking application.
Copyright (C) 2004-2006 Alex Graveley