|distributed.net Faq-O-Matic : Project: RC5-72 : Why is RC5-72 slower than RC5-64?|
|The most significant difference that you may notice if you had previously participated in the RC5-64 project is that blocks are now significantly larger in size. The RC5-64 project utilized a fundamental blocksize of 2^28 keys each, but individual packets containing multiple blocks were permitted (for example 16*2^28 meant a packet containing 16 blocks). However as computers have become much faster each year, the time required to complete a single 2^28-sized block grew less and less, which unfortunately meant a greater amount of network traffic for our servers.
RC5-72 is being started with a blocksize of 2^32 instead of 2^28. Initially we will only support 1 block per packet, but this will change in subsequent versions. Since each block is larger, it may appear that RC5-72 is much slower if you pay attention to only the amount of time required for each packet.
However, RC5-72 also requires new "cores" for all CPU architectures. In some cases, the old RC5-64 cores were easily retrofitted to accomodate the new bit-size, but this was not always possible. In other cases, completely new cores had to be written from scratch, particularly on x86 due to the limited number of registers. But by default, many of the initial RC5-72 client builds are compiled using a generic ANSI C core that is only optimized by the compiler until our porters are able to find updated assembly cores for their platform.
Of course the overall project will be "slower" than RC5-64, since the keyspace that must be searched for RC5-72 is 256 times larger. Since computers of faster and faster speeds are being produced each year, and the great number of excited participants on the Internet, we hope to complete this project with the same amount of success that we've had with prior projects.
If you have assembly optimization experience for your platform, you should consider looking at the public source code at http://www.distributed.net/source/ and submitting an updated core if you are able to produce code that is faster. Over the following weeks and months, we will periodically be releasing new client builds that incorporate additional speed improvements. Even with RC5-64, initial client versions were far slower than the eventual clients we had near the end, due to ever better optimizations that were developed over time--the same process will need to occur with RC5-72.
© Copyright distributed.net 1997-2013 - All rights reserved