View Single Post
Old 2009-03-20, 00:34   #22
Feb 2004

10216 Posts

Well then, get aliqueit v1.02.

+ much faster for small numbers, and probably faster for bigger numbers, i.e. better ecm tuning.

+ compiles and runs under linux now. Thanks Ben.

+ detects when a sequence merges with an earlier sequence. Setting "detect_merge = false" can be used to skip this, should you want to try and hit the possibly imminent termination anyway.

+ hides yafu/msieve screen output for composites < <hide_output_limit> digits. Unwanted output is redirected to <null_device>.

Hopefully it still compiles under linux... I can't test it, but I don't think you'll have any problems. The config file contains a few OS specific settings at the top that you'll need to change when running under non-windows.

I ended up targeting ecm_time = 1/4*qs_time (or gnfs_time) by rummaging through logs of previous factorisations and constructing linear expressions for fitting the ecm efforts properly at c70 and c95 for qs and c100 and c120 for gnfs. Assuming it's a good idea to do a quarter ecm relative to the qs/gnfs time this version should perform better than previous ones on c70+. The timings are for my machine, a core i7, so ymmv. The estimates are probably decent on most machines.

For qs I ended up with
0.448f * input_digits - 11.26f
for 20.1 at c70 and 31.3 at c95. These values are the maximum factor size we will search for using the recommended ecm steps in gmp-ecm's readme.

For gnfs I got
9.4f + 0.235f * input_digits
for 32.9 at c100 and 37.6 at c120.

To test the performance on smaller numbers I ran the Ben-chmark of doing the first 1225 lines of sequence 10212:

aliqueit v1.01: 1m38s
Ben's unofficial yafu-aliquot: 1m18s
aliqueit v1.02: 56s
Performance on these small numbers is still pretty irrelevant imho, but hooray!
mklasson is offline   Reply With Quote