|Bill Allombert on Fri, 26 Jan 2007 17:10:28 +0100|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|Re: GMP build on OSX|
On Thu, Jan 25, 2007 at 05:59:47PM -0800, Phil Carmody wrote: > I'm using a binary built by someone else now, and will work through his > instructions to reproduce the build on my machine. Certainly, he needed to > diddle with the -m64 flag, and by the looks of it a couple of others too. > I'll report back when I've built my own from scratch. My personnal experience with ppc46 is that 32bit and 64bit libraries are not separated while they have conflicting API which make really hard to use them. Liniking a 32bit program with a 64bit library is fatal, and so is the converse. > Mach Virtual Memory Statistics: (page size of 4096 bytes, cache hits 61%) > free active inac wire faults copy zerofill reactive pageins pageout > 35297 43753 38475 13547 130005 0 130005 0 0 0 > 38331 43753 35442 13547 111176 0 111176 0 0 0 > >>> > > Basically the CPUs are spending 30-50% of the time setting pages to zero. > > Which means that if it didn't do that, my script (basically a huge LLL with > 25kdigit coefficients - a Coppersmith-Howgrave-Graham Lattice-Reduction > primality proof) would be 1.5x-2x as fast. > > Does anyone have any idea what might be causing all the zero-initialised page > requests? Is it pari itself, or would it be GMP that's doing it? The GMP (with Probably neither (directly). Blanking pages is the duty of the kernel and occurs when memory is requested. It is probably caused by the malloc library (normally part of the C library) . Maybe you could try alternative malloc libraries or alternative OS. Cheers, Bill.