Charles Greathouse on Wed, 27 May 2015 17:17:18 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

 Re: Experimental 64-bit windows GP binary

• To: pari-dev@pari.math.u-bordeaux.fr
• Subject: Re: Experimental 64-bit windows GP binary
• From: Charles Greathouse <charles.greathouse@case.edu>
• Date: Wed, 27 May 2015 11:16:38 -0400
• Delivery-date: Wed, 27 May 2015 17:17:18 +0200
• References: <20150526205758.GJ16613@yellowpig>

The new version works for me on Windows 7 64-bit. For some operations it's a bit faster (~15%) but with others it's much faster. For example,

vector(800,n,nextprime(2^n)-2^n)

takes 3,552 ms on this version but 16,283 ms on the 32-bit version (4.5x).

Adapting your earlier program for computing the constant I asked about (thanks!), the 64-bit version takes 319 ms and 11,176 ms to find 10,000 and 100,000 digits respectively, while the 32-bit version requires 1,121 ms and 33,723 ms (3x).

Transcendental operations at high precision (100k digits) are also about 3x faster:

t=1;for(i=0,9,t=tan(t))

(similar to a computation I did some years back for https://oeis.org/A000319) was 7,525 ms vs. 21,470 ms.

Factorization is a reversal: while there's a small speedup in some cases, in most cases it takes half again as long.

1302261264872106258145021852292674394006205871359858203373086203229999

takes 15,046 ms vs. 10,298 ms. Similarly

109833287415320606854189019601123117040626033677169886025192777

takes 24,394 ms vs. 15,647 ms. This seems to be entirely due to MPQS; the 64-bit version is faster at

setrand(1);v=vector(10^5,n,randomprime(2^20)*randomprime(2^20));
apply(factor,v);

than the 32-bit version: 618+10,262 ms vs. 592+15,278 ms.

Charles Greathouse
Analyst/Programmer
Case Western Reserve University

On Tue, May 26, 2015 at 4:57 PM, Bill Allombert wrote:
Dear PARI developers,

Following a contribution of Eric Driver, we have managed
to build an experimental 64-bit windows binary that pass all the tests.
It is available at:
<http://pari.math.u-bordeaux.fr/pub/pari/windows/snapshots/gp-mingw64-gfa553d7>
It includes GNU GMP and readline support.
Please test! (and see how much it is faster than the 32-bit version).

I like to thanks Eric for starting this project and doing most of the work.

Hopefully, we will be able to generate daily 64-bit windows binaries in the
future.

The code is available in the GIT branch bill-win64, but you also need
to apply Eric script:
<http://pari.math.u-bordeaux.fr/pub/pari/windows/snapshots/convertMingw642.sh>

Cheers,
Bill