僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
64bitのUbuntuが入ってた由。
$ uname -a Linux $HOSTNAME 3.10.105-bsp-1.2-ayufan-77 #1 SMP PREEMPT Sun Jul 9 12:09:30 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux $ cat /proc/cpuinfo Processor : AArch64 Processor rev 4 (aarch64) processor : 0 processor : 1 processor : 2 processor : 3 Features : fp asimd aes pmull sha1 sha2 crc32 CPU implementer : 0x41 CPU architecture: AArch64 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 Hardware : sun50iw1p1
libgmp-devをapt-getして、coreutils-8.27をビルドする。
coreutils-8.27/src$ time echo 2^128+1 | bc | ./ 340282366920938463463374607431768211457: 59649589127497217 5704689200685129054721 real 15m12.092s user 14m55.270s sys 0m0.580s
ついでにdmesg。
Pentium M 1.6GHzのLet's Note(2005-6年頃)と同じくらいか。
素因数分解が恐ろしく速かった。
PCでもそうだったが、RaspberryPi Bでも凄い。
パッケージに見当たらず、セルフビルド。
gmpやzlibのdevが要るようだった。
11分弱ほどかかった。
msieve-1.53 $ ldd ./msieve /usr/lib/arm-linux-gnueabihf/libarmmem.so (0xb6fa0000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6f84000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6f5d000) libgmp.so.10 => /usr/lib/arm-linux-gnueabihf/libgmp.so.10 (0xb6eea000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6e6b000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6e42000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d03000) /lib/ld-linux-armhf.so.3 (0x7f61c000)
msieve-1.53 $ time echo 2^128+1 | bc | ./msieve -q -m next number: 340282366920938463463374607431768211457 p17: 59649589127497217 p22: 5704689200685129054721 next number: real 0m1.020s user 0m0.890s sys 0m0.080s
最新のfactorで68分かかっていたことが 信じられないくらい。
ついでに(?)PCで2^256+1を試してみた。
$ time echo 2^256+1 |BC_LINE_LENGTH=80 bc | ./msieve -q -m next number: 115792089237316195423570985008687907853269984665640564039457584007913129639937 p16: 1238926361552897 p62: 93461639715357977769163558199606896584051237541638188580280321 next number: real 0m8.134s user 0m8.108s sys 0m0.020s
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。