grack.com

Blog

nprof alpha 0.6 released

The nprof 0.6 alpha release is now available. Changes in this version are:

  • Fixes for recursive function calls
  • Some minor GUI updates (double-click profiler runs to open)
  • VS.NET add-in work - moved enable item to menu
  • Fixed major slowdown in large profiler runs introduced last version

Those people who use the VS.NET add-in should be very happy to know that it’s been worked on a fair bit. It should perform as expected now (at least it did in my testing).

The problem with recursive calls messing up the percentages has been fixed. With any luck I haven’t introduced any bugs with the other numbers. I’ve managed to profile an entire run of nprof with some good looking numbers. I’ve also changed the numbers that are displayed on the profile run list. They are:

  • # of calls: The total number of calls to the method
  • % of total: The percentage of total time (relative to the thread’s lifetime) spent in or under this method. This includes all time in methods called by this one.
  • % in method: Percentage of total time (relative to the thread’s lifetime) spent in the method itself.
  • % in children: Percentage of total time (relative to the thread’s lifetime) spent in the children of the method. This does not include time spent in the method called by children of children (or any other call to the method below itself).
  • % suspended: Percentage of total time (relative to the thread’s lifetime) during which the function was suspended.

In a future version I will allow customization of the displayed data columns, as well as batch sorting of the items.

Finally, I fixed a bug that I introduced in 0.5 that made large profile runs load very slowly (it was sorting the listview on each insertion). Large profile runs should no longer cause any grief.

nprof alpha 0.5 released

The nprof 0.5 alpha release is now available. Changes in this version are:

  • Improved UI (about box, new project icon)
  • Fixed sorting - faster, doesn’t crash
  • Removed GUILibrary dependency
  • New NAnt build scripts
  • Fixed callee timing percentages (now display as % instead of useless total ticks)
  • Added suspended time in callee description
  • Added command-line interface for SharpDevelop integration

The big change for me is the NAnt integration. This should allow me to release nprof more often (by removing the previously tedious and error-prone release steps). It should also help anyone interested in enhancing nprof to get a packaged release for testing.

Bugzilla.NET 0.1!

Bugzilla.NET version 0.1 has been released!

Bugzilla.NET is my Visual Studio.NET <-> Bugzilla integration project. So far it has the ability to query Bugzilla from within Visual Studio and synchronize a set of tasks with a given set of server-side queries.

Requirements:

  • Bugzilla 2.16.1 or later
  • Visual Studio.NET 2003 (2002 may work, but is untested)

Downloads:

Here’s a screenshot of the Bugzilla query window:

Scoble Misses the Point

I didn’t expect to get a response to my Linux for Travel Systems article so quickly, but it’s clear that Robert Scoble either missed the point or has decided to fabricate a great deal of my argument to suit his own:

Matthew makes a mistake, though. He tries to use this as an example of how a company has fired Microsoft. Instead, though, you need to look at what Travelocity used before. Unix. So, what Travelocity really decided was to replace its Unix-based systems with Linux.

In this case, Robert is the one who has made a mistake.  Nowhere in my article did I even mention “firing Microsoft”.  In fact, the only reference to Microsoft in my article is referring to Robert’s role as evangelist.  My goal was simply to match his “Windows Success Story” with a story of how a company evaluated its options and came up with the conclusion Linux Works Better For Them.

This is where Robert believes his “switch story” is more convincing:

My Morton Thiokol example was more of a real win. Why? Because Morton Thiokol switched from Unix to Windows (that’s a real jump over the fence – Unix to Linux isn’t as big a difference as Unix to Windows).

I’m finding it hard to give this point any credit for two reasons:

  1. Robert hadn’t positioned his article as a Unix to Windows switch.  In fact, I have no idea what really went on at Morton Thiokol.  Looking back at Robert’s previous two mentions of the company, this is the most information I can get out of it:

    On the other hand, ask yourself why no one has written about Morton Thiokol lately. They just changed computer systems for their engineers.

    “Changed computer systems,” eh?  From what to what?  I can assume that the “to what” part of that is Windows, but nowhere in this article does he mention that it was from something else.  They could have been running AutoCAD on Windows ‘95 for all we know.  For the record, I have seen people run those two together.

  2. In the original case study I referenced, we don’t know what the architecture history of Travelocity was.  At the time, I was positioning the story only as one in which Linux was chosen over other alternatives.  I did manage to dig up another article that describes them switching from C++/SGI to Java/Linux.  The Unix-to-Java/Linux switch is not any less valid than Robert’s Unix-to-Windows switch.  I would consider Java to be a platform of its own and the change to it significant.  If you read the other article describing the switch, you can see how they switched to Apache Tomcat (a Java Enterprise hosting environment) with Struts (a web-page rendering environment).  That’s not a trivial change, Robert!

So you can see, my Travelocity switch story is just as valid as Robert’s Morton Thiokol story.  Either switch would be a major undertaking for any organization.  Switching from Unix to Linux, however, is a win for Linux (and a win for Open Source at the same time).  You can’t discount this switch just because both operating systems end in the letter “x”.

If you look at the stories and how they would affect a normal working-class Joe, you’d probably find that the Travelocity story has greater influence.  Not everyone flies to the moon, but pretty much everyone flies between cities at some point in their life.  Linux now helps you get your ticket cheaper and faster.

Linux for Travel Systems

Since Scoble has been pushing Morton Thiokol stories over the last few days, I thought I would counter with a Linux success story from this article (first page here). 

“Sabre Holdings Corp., based in Southlake, Texas, is a $2.1 billion holding company with four technology-based travel business units: the Travelocity online travel site; the Sabre Travel Network, which operates the Sabre reservations system for travel agents, suppliers and travelers; GetThere, a Web-based corporate travel service; and Sabre Airline Solutions, which provides software and consulting services to airlines.”

Here’s the great quote: “We’ve got to get faster, better, cheaper solutions into our infrastructure, and Linux lets us get there”. 

Sabre Holdings Corp. isn’t designing the space shuttle engines, sure, but the next time you book your Travelocity holiday online, picture all of that open-source, finely-tuned machinery ticking away in the background.  And they can scale up any part of their system for the cost of the new hardware.  No Microsoft Licensing 6.0 yearly payments and no random license audits from the BSA.  Just re-image the new machine and add it to the cluster!  Like the Murphy, the CTO, says:

“Your cost at the scaling point, after the initial implementation, is essentially zero, and you’re getting a robust environment that delivers the intangible benefit that your technicians love to work on Linux.”

I imagine that seeing all of these Linux stories in the trade press is making Microsoft’s star evangelist a little jealous.  I’m happy to see all of the attention that open-source products have been getting lately.