A Blast from the Past: Trying out gcc-2.95.3 with Freecell Solver

Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]> Thu, 23 Apr 2009 22:43:14 +0300
Newsgroups gmane.culture.hackers.israel
Message-ID <[email protected]>
Randall Parker reports here:

http://tech.groups.yahoo.com/group/fc-solve-discuss/message/614

that:

{{{
Your solver [= "Freecell Solver"] takes about 70% longer to run with the MS 
Visual C++ Toolkit 2003 as compared to MSVC v6.
}}}

Moreover, Ted Ts'o mentions in http://lwn.net/Articles/313798/ that:

{{{{{{{{{{{
(And BTW, I consider the pre-2.6.28 compile times only barely
acceptable; most of this isn't kbuild's fault, I know, it includes the
fact that link steps are still slow, and gcc is constantly getting
increasingly slower over time.  Sigh...  I will just note wryly that
it used to be that I could compile 0.9x kernels on a 40 MHz 386
machine in 10 minutes.  Some 15 years later, it still takes roughly
the same amount of time to compile a kernel, even though computers
have gotten vastly faster since then.  Something seems wrong with
that....  :-)
}}}}}}}}}}}

The Linux kernel has grown bigger and more complex since then, but it's also 
in large part to gcc becoming slower.

Finally, I recently re-compiled a mini-graphical-demo (see:
http://en.wikipedia.org/wiki/Demoscene ) I wrote in ANSI C using gcc (= the 
open-source compiler collection which is popular on Linux and other UNIX 
systems) again and the result seemed slower than before.

As a result, I decided to try out gcc-2.95.3, which I still remember using 
back in the time. 

I downloaded the archive from the GCC site, and tried to build it. ./configure 
followed by "make" was not successful, and I realised I needed to do "make 
bootstrap". This was successful after one or two manual tweaks, and I was able 
to install it under my home directory.

Here are the results:

Using gcc-2.95.3:
-----------------

Compilation:

{{{{
5.74user 1.25system 0:08.40elapsed 83%CPU (0avgtext+0avgdata 0maxresident)k
784inputs+8544outputs (0major+190805minor)pagefaults 0swaps
}}}}

Running the MS 32K: 285.193099021912

Using gcc-4.3.2-5mnb2:
----------------------

Compilation:

{{{{{
12.35user 1.51system 0:15.07elapsed 91%CPU (0avgtext+0avgdata 0maxresident)k
304inputs+2912outputs (1major+229206minor)pagefaults 0swaps

12.45user 1.45system 0:15.05elapsed 92%CPU (0avgtext+0avgdata 0maxresident)k
16inputs+2912outputs (0major+229205minor)pagefaults 0swaps
}}}}}

Running the MS 32K: 235.637364864349

-------------------------

So gcc-2.95 compiles faster, but the resultant machine code is slower. A note 
is that the gcc-4.3.x run was ran in sub-optimal conditions and I've already 
measured benchmarks of 224.068351984024 seconds. 

My demo also doesn't seem faster when compiled with gcc-2.95.3.

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
What Makes Software Apps High Quality -  http://xrl.us/bkeuk

God gave us two eyes and ten fingers so we will type five times as much as we
read.