have good VC++ 6.0 build of GMP 4.1; make it available?

Rev. Chris Korda victimofleisure at gmail.com
Wed Apr 16 23:37:53 CEST 2008

It took me a while, but I have managed to create a fully-optimized static
library build of GMP 4.1.2 under VC++ 6.0. Do you think anyone might find
this useful? If so, I could make it available, e.g. by hosting it from my

The project supports x86, P6, and Pentium 4 builds, with (almost) all the
assembler optimizations. A secondary project contains the entire test suite,
and all the tests pass. My informal benchmark results are enclosed below
(2.66 GHz Intel Core2, all times in seconds):

ASM	pass1	pass2
----	-----	-----
none	173.6	174.3
x86	66.7	65.9
P6	60.0	61.0
P4	59.0	59.0

You might wonder why I did all this. Here's why. The only Windows builds I
found online were these:
1. Zilin Du's GMP for Windows page http://cs.nyu.edu/exact/core/gmp/
2. Brian Gladman's MPFR page

Du's project builds 4.1 correctly but without assembler optimizations. This
is a serious problem if performance is an issue. Gladman's project has the
assembler optimizations, but only works with .NET 2008 or 2005. I don't like
.NET, for various reasons, the most important of which is that .NET binaries
can can be significantly slower than their VC++ 6.0 equivalents.

My application only uses the mpf portion of GMP, and only does adds and
multiplies, at largish precision (e.g. 768 bits or more). I have found that
my application runs approximately 15% slower with Gladman's .NET
Pentium4/SSE build than with my VC++ 6.0 P6 build. This is enough of a
difference to keep me using VC++ 6.0 for the moment.

Gladman did the hardest part, i.e. translating the assembler files from AT&T
syntax to Intel syntax, but it was still a lot of work creating all the
projects and testing them, and I'd like to save others from having to do all
this work again needlessly. Unless they really want to... :)

Best regards,

Chris Korda

"The American economy's ultimate purpose is to produce more consumer goods."
-President Eisenhower

More information about the gmp-discuss mailing list