Re: random question...

C Matthew Curtin (cmcurtin@research.megasoft.com)
Thu, 10 Apr 1997 00:41:18 -0400 (EDT)


>>>>> "M" == M Heroux <mheroux@u.washington.edu> writes:

M> This may have quite a basic answer.. but why doesnt somebody write
M> a client in Java? That way anybody (theoretically) could run it.

Performance.

Take a look at the performance difference between a middle-of-the-road
Pentium system, and compare that to an Alpha, UltraSPARC, or something
like that. The latter processors will eat the Pentium for lunch.
Nevertheless, the Pentium port is running circles around them. Why?
Because the core Pentium code is hand-optimized assembler and the
others are in C, with -O3 compiler optimization.

Now, if someone were to hand-optimize assembler code for one of these
more gnarly processors (especially a 64 bit one, using the same
approach Eli Biham used), then you'd see the faster/better processor
run circles around the Pentium.

If compiler-optimized C turns an UltraSPARC into a lesser key-cracker
than a mid-range Pentium, imagine what a Java client would do :-) I
haven't looked recently, but a few months back, I was talking to some
folks from SGI, and they're working on a pretty cool JDK port that
will handle JIT compilation and such. The JDK 1.0.2's JIT would
produce Java that ran at about 1/2 the speed of the same thing in C.
I suspect that we're further along in getting Java sped up, but it's
still going to be a lot slower.

We're trying to find one in more than 72 quadrillion keys as it
is... we don't need any more handicaps :-)

-- 
Matt Curtin  Chief Scientist  Megasoft, Inc.  cmcurtin@research.megasoft.com
http://www.research.megasoft.com/people/cmcurtin/    I speak only for myself
Death to small keys.  Crack DES NOW!   http://www.frii.com/~rcv/deschall.htm