My dev machine at home is named ENDURO. It has 4 gigs of memory and runs an Asus P5AD2 Deluxe motherboard and a 3.2 GHz Pentium 4. The C: drive is a Raptor 150, and the F: drive is a RAID0 array of two Hitachi 300 gig drives.
The wiki dump files are on F:. When I time them, the programs read from F: and write to C:.
Fluxion's Perl script from his earlier post runs in about 78 seconds. The version I have doesn't produce correct output. Its output file is 412,052,301 bytes, more than 10% larger than my C++ program.
My C++ program is
here. It runs in about 17 seconds. It generates 378,689,587 bytes.
A faster version of my program is
here. It runs in about 9 seconds. It also generates 378,689,587 bytes.
My C# program is
here. (Note that it is a *.TXT file, but really a *.CS file. My server doesn't like to server *.CS files because it thinks they're executable.) It runs in about 34 seconds. It generates 378,689,587 bytes, and its output compares perfectly to the C++ program's output. I can't apply some of the optimizations I've done to the C++ program to the C# version (obviously), but I'm thinking that I can try a couple of other things so I might get the runtime down.