Solaris Desktop Summit: Performance Day 3

Just a quick update on the Performance Hackfest. Having lots of fun and learning loads. Had plenty of interesting talks this morning. Alan C gave us all the gory details of the XServer, past, present and future. Great to see just what was being planned and all the goodies coming down the pike with XOrg 6.9 and beyond. Oh for hardware acceleration support, but it is coming. Alan gave us an overview of the XServer dtrace provider, looks very interesting. Should be easy to see what xlib calls are being made across the Gnome stack, will allow the XServer guys to tune particulary hot commands.
Bob Doolittle, Bob Terek and Charles Le Brac gave us a great preso on the Sun Ray architecture. It's very helpful to understand precisely what we can and can't do with the Sun Ray device. We really need to play well with our desktop in a multi user server based environment. Plenty of challenges, but with the various teams working together who knows what we can do. Would love to see an interface added in the XServer to allow the Sun Ray to communicate it's knowledge of the current bandwidth environment up the stack, so the Gnome desktop could respond dynamically to limited bandwidth environments, such as when a user goes from the office to their home.
Sean Meighan gave an excellent talk on Canary, the tool used to monitor the 700+ Sun Ray servers throughout Sun. It can give a very dynamic view of the Sun Ray's, their current performance and the performance of various applications running on the server. Was entertaining to see the different work patterns across the various Sun campuses by using Cananry to dynamically monitor the CPU usage. Thankfuly he seemed to miss Dublin ;) \*Performance Update\* \* Firefox: using the Pagein command used by Staroffice to page in libraries used by Firefox [determined using pldd], the lads saw an improvement in cold start from 18 sec to 10 sec. Will want to see if we can use a general preload mechanism to heat up the page cache. Would be interesting if during the compile/ link cycle we could have a build option to indicate to the dynamic linker that it should page in the entire library. This would remvoe the need for an external preload mechanism such as pagein.
\* Brian saved another 1 sec by removing a redundent read of a 20 Meg file from Firefox startup. Dependency patch added to g_open_module to use RTLD_FIRST to reduce lookup of uneeded callback dependenices. Still need to test this against a Firefox startup benchmark. Jack and Patrick have a neat way to timing the startup, by getting to load a piece of Javascript to shutdown Firefox as soon as it starts. \* Timsstamp bug: trying to get a good repeatable benchmark for Firefox startup, we uncovered a bug in the high res timer used by dtrace timestamp. I was seeing a drift of 0.6 sec per sec, when comparing timestamp timings to walltimestamp timings. The problem is being caused when I enable powernow automatic cpu stepper, setting this to manual removes the problem. Following script used to confirm the issue from Charles. #pragma D option quiet BEGIN { ts = timestamp; wts = walltimestamp; } tick-1s { this->dts = timestamp - ts; this->dwts = walltimestamp - wts; printf("%15d %15d %15d\\n", this->dts, this->dwts, (long) (this->dts --- this->dwts)); } \* Nautilus Open: Yukon and Oleg gave us a cool demo of Sun Studio 11 Analyzer. When we ran it on Nautilus and did an open of /usr/bin [1100 files], it takes 9 sec ona cold start to do the listing. Over 6 secs is spent in reading the files to determine the mime type. It is also rereading a number of png files lots of time. Will dig into this tomorrow to see what's going on. Nautilus should be caching its icons for the view so need to see why this isn't happening. Also want to see why the mime type detection isn't just using the extension initially and then in the background do the more expensive read to confirm or adjust the mime type if necessary. \* Bootime: looks like we should be able to have the initial login screen appear some 10-15 sec sooner than it currently does. Need to modify the SMF service definitions for both dtlogin and gdmlogin. The various services still need started, but it will certainly feel faster to the user. This type of behaviour is the norm in Windows, wher user sees the login in 20 secs, but from the disc activity you can see the system is still woring hard int eh background to bring up various services. \* Gtk: icon cache seems to be a little deranged, checking for the default High Color theme cache over a 100 times, to be sure to be sure :( Erwann will dig into this tomorrow. Looking across all the Gtk calls on login see a lot of Gtlkrcpixmap & path calls. \* Java: changing caching of translucent pixmaps to opaque ones leads to 5% improvement. Further Gtk improvements in removing redundent value lookups, will save 2% on the swing mark tests. More changes on the Java Gtk L&F fidelity which Chris will post. \* Bonobo: Alo has a patch for g_rand_new() to remove a redundent read, shaving a few miliseconds off startup of all gnome apps :) \* Sun Ray: few issues uncovered. DDX being more aggresive than it needed to be in hotdesking. XScreensaver doing 0 length polls, need to see why. New brand to be used in Sun Ray on tests showed a 10x improvement in bandwidth usage from the previous one. Always good news, Erwann muttered something about knowing where the old 400k background image came from, but refused to reveal more even after extensive libations in Gordons brewery ;) \* Gnome Terminal: interesting that the 30-70% improvement estimate yesterday by optimising some of the vte redraw code, was not seen when running the modified Gnome terminal on a Sun Ray. Want to use Alan C's XServer dtrace provider to dig into what and how long the various requests are taking to carry out the client redraw requests. Off for a few quick hours shut eye, before I head out for my 6.15am run with Alo. Sanity definitely is not my strong suits :) More dtrace fun tomorrow, awesome.

Also want to see why the mime type detection isn‘t just using the extension initially and then in the background do the more expensive read to confirm or adjust the mime type if necessary
I think it already does... testing with /usr/bin is not a good case to measure that, given that most of the files in my /usr/bin have no extension

Posted by Paolo Borelli on December 08, 2005 at 03:57 AM GMT #

The Dtrace script is wrong - I guess cutting and pasting somehow substituted <del> for - and </del>> for ->

Posted by Glynn Foster on December 17, 2005 at 06:12 PM GMT #

Post a Comment:
  • HTML Syntax: NOT allowed



Top Tags
« April 2014