OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   On Case and Performance

[ Lists Home | Date Index | Thread Index ]
  • From: Tim Bray <tbray@textuality.com>
  • To: xml-dev@ic.ac.uk
  • Date: Sat, 06 Sep 1997 14:06:53 -0700

Recently, I whined:

>What we need is a truly good profiler.  Anyone with a good Java profiler 
>experience to share?  I speeded Lark up substantially with 0.91, just by 
>code-walking and guessing.  This is not the right way to do it. -T.

Disgusted with myself, I went and found the Java Workshop Beta from
java.sun.com, downloaded it (16M!) and ran its profiler.  Well well, 
surprise, Lark was spending 91% of its time in this little routine
that looks up a GI to see if we've seen it before.  And in that 
routine, it was spending most of its time in Character.toUpperCase.

Ouch. The code used to be:
 for (i = 0; i < name.length; i++)
   name[i] = sToUpper[name[i]];

Now it says

 for (i = 0; i < name.length; i++)
   if (name[i] < 127)
     name[i] = sToUpper[name[i]]; // 127-entry upcasing table
     name[i] = Character.toUpperCase(name[i]);

Note that toUpperCase is called only in the case when non-ASCII 
characters show up in GI/Attribute/Entity names.

Resulting performance improvement in Lark, in processing the XML spec:
a factor of 11.9.

The Sun profiler is not quite as slick as gprof of yore, but it's
not bad at all. -T.

xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa@ic.ac.uk)


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS