Garrett, thanks! I may have some more questions later :)
Hi Cold Winter, you may want to read the ATLAS group's somewhat tortured narrative
of exactly how they went about their calculation. The limiting factor turns out to actually be not CPU power, but RAM. Performing the calculation turns out to involve constructing some tables that grow to hundreds of gigs in size, and they found that they essentially had
to store the entire table in RAM, as the calculation requires so many more-or-less-random accesses to this table that access times would have been prohibitive had they allowed swapping to disk. It's an interesting read, anyway.
Incidentally, as regards your comment about doing calculations in C, I think actually this is not so necessary as it at first seems. For heavy computation of the exact kind that dominates the E8 stuff-- working with vectors and matrices and such-- C is I think not actually a very good choice. Many higher-level languages can do vector and matrix operations with a highly optimized backend library, removing many of the advantages C would get in this area from being "closer to the metal". On the other hand with C the "close to the metal" nature can actually be a major drawback, since the degree of power given to the programmer in C takes power away from the compiler, thus preventing many useful compiler optimizations from being possible-- and with this kind of stuff a compiler really is usually much better at optimizing than a human is. I can't speak to the efficiency of Mathematica in specific but it would not surprise me if there are language platforms, for example among some of the functional languages, which resemble Mathematica more than C and yet get better performance than C on E8-related calculations. Of course, these languages bring their own problems! And if you are going to be doing something on the scale of the ATLAS calculation I would tend to suspect you have no choice but to use C. Interestingly ATLAS has a package of downloadable software
(although I am not sure whether the E8 map program is included) and it is all written in C++.