mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > GMP-ECM

Reply
 
Thread Tools
Old 2006-01-01, 02:01   #1
ixfd64
Bemusing Prompter
 
ixfd64's Avatar
 
"Danny"
Dec 2002
California

2×3×397 Posts
Default GMP-ECM vs. Alpertron's factoring applet

Alpertron's applet seems to have been optimized very well and is extremely user-friendly, but it just doesn't seem as powerful as GMP-ECM. Looking at the records, it seems that GMP-ECM is far ahead.

Is this due to Java limits? Just curious.
ixfd64 is offline   Reply With Quote
Old 2006-01-01, 03:34   #2
rogue
 
rogue's Avatar
 
"Mark"
Apr 2003
Between here and the

3·11·191 Posts
Default

Quote:
Originally Posted by ixfd64
Alpertron's applet seems to have been optimized very well and is extremely user-friendly, but it just doesn't seem as powerful as GMP-ECM. Looking at the records, it seems that GMP-ECM is far ahead.

Is this due to Java limits? Just curious.
GMP-ECM is built upon GMP, which uses assembler code that is tuned to the CPU that it is running on.
rogue is offline   Reply With Quote
Old 2006-01-02, 01:50   #3
alpertron
 
alpertron's Avatar
 
Aug 2002
Buenos Aires, Argentina

23×132 Posts
Default

Also GMP-ECM received a lot more CPU clock cycles than my applet, otherwise I think that at least one 55-digit prime factor should have discovered with my applet.

Notice that trying to find 50-digit factors with my applet you are wasting computer resources, unless you want to be mentioned in my table of records.
alpertron is offline   Reply With Quote
Old 2006-01-02, 11:04   #4
Mystwalker
 
Mystwalker's Avatar
 
Jul 2004
Potsdam, Germany

33F16 Posts
Default

Quote:
Originally Posted by rogue
GMP-ECM is built upon GMP, which uses assembler code that is tuned to the CPU that it is running on.
In addition, IIRC, these computations make heavy use of arrays. With Java, it is impossible to disable array bounds checking (which typically is a good thing, as it avoids malformed pointers), hence, you lose even more performance.
Mystwalker is offline   Reply With Quote
Old 2006-01-02, 13:13   #5
alpertron
 
alpertron's Avatar
 
Aug 2002
Buenos Aires, Argentina

101010010002 Posts
Default

In ECM most of the time is spent performing modular multiplications.

Thus there are two ways to optimize ECM:

1) Performing less modular multiplications: It is possible to use less modular multiplications per curve as GMP-ECM does but this requires more memory and there is a limit for the amount of memory that an applet can request.

2) Needing less time to complete a modular multiplication: Here the limiting factor appears to be the array access time. For large numbers (say greater than 101000) a Karatsuba-like modular multiplication should increase the modular multiplication speed but I didn't implement it yet. Notice that I'm not using the built-in BigInteger class because it is very slow for this application.
alpertron is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
New feature in my ECM applet alpertron Factoring 87 2014-11-21 21:23
New online applet for factorization ET_ Lone Mersenne Hunters 69 2014-06-01 17:34
A strange applet: 3.14159 Miscellaneous Math 7 2010-06-01 01:29
Faster factorization applet alpertron Factoring 14 2006-01-01 04:00
Binomial Expansion Applet jinydu Lounge 2 2004-05-05 08:33

All times are UTC. The time now is 02:40.

Thu May 6 02:40:37 UTC 2021 up 27 days, 21:21, 0 users, load averages: 3.23, 2.92, 2.86

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.