My old and no longer in use mercurial jython repos is here http://www.hellanzb.com/hellanzb-content/anim-daemon.gif

BytecodeLoader benchmarks (in milliseconds) on OS X:

1.6 64 bit server
makeClass: 941 getConstructor: 1874 newInstance: 355 getMain: 0
makeClass: 895 getConstructor: 1744 newInstance: 325 getMain: 0
makeClass: 954 getConstructor: 1725 newInstance: 330 getMain: 0
makeClass: 959 getConstructor: 1772 newInstance: 354 getMain: 0
makeClass: 979 getConstructor: 1759 newInstance: 381 getMain: 1
makeClass: 897 getConstructor: 1785 newInstance: 323 getMain: 2

1.6 64 bit server reflection avoidance hack
loadClassFromBytes: 717 forName: 2301 getMain: 1
loadClassFromBytes: 706 forName: 2264 getMain: 2
loadClassFromBytes: 927 forName: 1995 getMain: 1
loadClassFromBytes: 664 forName: 2241 getMain: 1
loadClassFromBytes: 766 forName: 2379 getMain: 1
loadClassFromBytes: 791 forName: 2325 getMain: 0
loadClassFromBytes: 790 forName: 2221 getMain: 4
loadClassFromBytes: 917 forName: 2090 getMain: 5


1.5 client
makeClass: 617 getConstructor: 1697 newInstance: 471 getMain: 0
makeClass: 861 getConstructor: 1651 newInstance: 290 getMain: 1
makeClass: 884 getConstructor: 1677 newInstance: 298 getMain: 0
makeClass: 869 getConstructor: 1792 newInstance: 336 getMain: 0
makeClass: 897 getConstructor: 1722 newInstance: 272 getMain: 0
makeClass: 884 getConstructor: 1630 newInstance: 308 getMain: 1

1.5 client reflection avoidance hack
loadClassFromBytes: 441 forName: 2145 getMain: 3
loadClassFromBytes: 465 forName: 2340 getMain: 1
loadClassFromBytes: 470 forName: 2225 getMain: 0
loadClassFromBytes: 466 forName: 2248 getMain: 1
loadClassFromBytes: 470 forName: 2305 getMain: 1
loadClassFromBytes: 479 forName: 2272 getMain: 0
loadClassFromBytes: 485 forName: 2253 getMain: 2
loadClassFromBytes: 498 forName: 2309 getMain: 1