commit 94c7cf77618aa33b2befe785101eaf0e876bedfc
Author:     Mattias Andrée <[email protected]>
AuthorDate: Thu May 5 13:55:57 2016 +0200
Commit:     Mattias Andrée <[email protected]>
CommitDate: Thu May 5 13:55:57 2016 +0200

    Update STATUS
    
    Signed-off-by: Mattias Andrée <[email protected]>

diff --git a/STATUS b/STATUS
index bf716e8..a5f664e 100644
--- a/STATUS
+++ b/STATUS
@@ -6,45 +6,45 @@ left column. Double-parenthesis means there may be a better 
way
 to do it. Inside square-brackets, there are some comments on
 multi-bit comparisons.
 
-zset .................... fastest [always (gcc); until ~250 (clang)]
+zset .................... fastest [always]
 zseti ................... tomsfastmath is faster [always]
 zsetu ................... tomsfastmath is faster [always]
-zneg(a, b) .............. fastest [always (gcc); until ~250 (clang)]
+zneg(a, b) .............. fastest [always]
 zneg(a, a) .............. fastest [always] (shared with gmp)
-zabs(a, b) .............. fastest [always (gcc); until ~250 (clang)]
+zabs(a, b) .............. fastest [always]
 zabs(a, a) .............. tomsfastmath is faster [always]
-zadd_unsigned ........... fastest [always (gcc+glibc); until 1400~1600 
(gcc+musl); until ~600 (clang+glibc)]
+zadd_unsigned ........... fastest [always]
 zsub_unsigned ........... fastest [always]
-zadd .................... fastest [almost never]
+zadd .................... fastest [after ~100, tomsfastmath before] (shared 
with gmp)
 zsub .................... fastest [always]
-zand .................... 77 % of tomsfastmath [until ~150, then gmp]
-zor ..................... 65 % of tomsfastmath [until ~250, then gmp]
-zxor .................... 87 % of tomsfastmath [until ~500, then gmp]
+zand .................... 77 % of tomsfastmath [until ~900, alternating with 
gmp]
+zor ..................... 65 % of tomsfastmath [until ~1750, alternating with 
gmp (gcc) and tomsfastmath (clang)]
+zxor .................... 87 % of tomsfastmath [until ~700, alternating with 
gmp (gcc+clangs),]
 znot .................... fastest [always]
 zeven ................... fastest [always]
 zodd .................... fastest [always]
 zeven_nonzero ........... fastest [always]
 zodd_nonzero ............ fastest [always]
-zzero ................... fastest [always] (shared with gmp and libtommath)
+zzero ................... fastest [always] (shared with gmp)
 zsignum ................. fastest [always] (shared with gmp)
 zbits ................... fastest [always]
 zlsb .................... fastest [always]
 zswap ................... fastest [always]
-zlsh .................... fastest [until ~300, then gmp (gcc); until ~100 
(clang)]
+zlsh .................... fastest [until ~1000, then gmp]
 zrsh .................... fastest [almost never]
-ztrunc(a, b, c) ......... fastest [until 750~2000, then gmp (gcc); until 1~500 
(clang)]
-ztrunc(a, a, b) ......... fastest [until ~150, then 77 % of tomsfastmath]
-zsplit .................. fastest [until 100~200, then gmp]
+ztrunc(a, b, c) ......... fastest [always; alternating with gmp between 
1400~3000 (clang)]
+ztrunc(a, a, b) ......... fastest [until ~150, then 77 % of tomsfastmath; 
slightly slower than gmp (clang)]
+zsplit .................. fastest [alternating with gmp and slightly slow than 
gmp]
 zcmpmag ................. fastest [always]
 zcmp .................... fastest [almost never]
-zcmpi(a, +) ............. fastest
-zcmpi(a, -) ............. fastest
-zcmpu ................... fastest
-zbset(a, b, 1) .......... fastest [always (gcc+glibc); until 3500~3750 
(gcc+musl); until ~100 (clang+glibc)]
+zcmpi(a, +) ............. fastest [always]
+zcmpi(a, -) ............. fastest [always]
+zcmpu ................... fastest [always]
+zbset(a, b, 1) .......... fastest [always]
 zbset(a, a, 1) .......... fastest [always]
-zbset(a, b, 0) .......... fastest [until 3300~3800 (gcc); until ~800 (clang)]
+zbset(a, b, 0) .......... fastest [always]
 zbset(a, a, 0) .......... fastest [always]
-zbset(a, b, -1) ......... fastest [until 3100~3400 (gcc); until ~200 (clang)]
+zbset(a, b, -1) ......... fastest [always]
 zbset(a, a, -1) ......... fastest [always]
 zbtest .................. fastest [always]
 zgcd .................... 21 % of gmp (zcmpmag)
@@ -63,7 +63,7 @@ zstr_length(a, 10) ...... gmp is faster [always] (zdiv, zsqr)
 zstr(a, b, n) ........... 8 % of gmp, 59 % of hebimath
 zrand(default uniform) .. 51 % of gmp
 zptest .................. slowest (zrand, zmodpow, zsqr, zmod)
-zsave ................... fastest [until ~600, then tomsfastmath; libtommath 
is suspicious]
+zsave ................... fastest [until ~250, then tomsfastmath; libtommath 
is suspicious]
 zload ................... fastest [always]
 zdiv(big denum) ......... tomsfastmath and naïve hebimath implementation are 
faster (zdivmod)
 zmod(big denum) ......... fastest (zdivmod)

Reply via email to