For comparison, here are the pre-optimization figures for perl-5.6.1, XML::SAX::PurePerl-0.08 from CPAN:
$ perl -d:DProf t/16large.t
1..3
ok 1
ok 2
parsed 80085 bytes in 13 seconds
ok 3
$ dprofpp -O 6
Total Elapsed Time = 11.05672 Seconds
User+System Time = 10.67672 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
36.9 3.940 3.892 115004 0.0000 0.0000 XML::SAX::PurePerl::Reade
+r::match_nonext
14.8 1.590 1.547 86892 0.0000 0.0000 XML::SAX::PurePerl::Reade
+r::Stream::next
10.8 1.160 8.197 114995 0.0000 0.0001 XML::SAX::PurePerl::Reade
+r::match
9.55 1.020 7.152 115004 0.0000 0.0001 XML::SAX::PurePerl::Reade
+r::match_nocheck
9.27 0.990 2.450 86891 0.0000 0.0000 XML::SAX::PurePerl::Reade
+r::nextchar
9.05 0.966 8.389 17607 0.0001 0.0005 XML::SAX::PurePerl::Reade
+r::consume
Same machine, same perl, cvs version of fifteen minutes ago:
$ perl -d:DProf t/16large.t
1..3
ok 1
ok 2
parsed 80085 bytes in 16 seconds
ok 3
$ dprofpp -O 6
Total Elapsed Time = 13.08672 Seconds
User+System Time = 11.91672 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
37.5 4.480 4.442 115004 0.0000 0.0000 XML::SAX::PurePerl::Reade
+r::match_nonext
13.2 1.580 1.537 86892 0.0000 0.0000 XML::SAX::PurePerl::Reade
+r::Stream::next
10.6 1.270 9.037 114995 0.0000 0.0001 XML::SAX::PurePerl::Reade
+r::match
10.2 1.220 7.882 115004 0.0000 0.0001 XML::SAX::PurePerl::Reade
+r::match_nocheck
9.02 1.075 9.239 17607 0.0001 0.0005 XML::SAX::PurePerl::Reade
+r::consume
8.48 1.010 2.460 86891 0.0000 0.0000 XML::SAX::PurePerl::Reade
+r::nextchar
It looks like a pessimization for for this machine. Both build directories were on the same spindle and partition.
After Compline,
Zaxo