- N=10:
digits2int(digits) | Median, ns | std dev, ns | ratio |
---|---|---|---|
$’n = 0\nfor d in digits:\n n = 10*n + d\n return n’ | 94.5 | 2.2 | 1.00 |
reduce(lambda n,d:10*n+d, digits) | 554 | 47 | 5.86 |
int(“”.join(map(str, digits))) | 764 | 36 | 8.08 |
- N=1000:
digits2int(digits) | Median, us | std dev, us | ratio |
---|---|---|---|
int(“”.join(map(str, digits))) | 43.4 | 1.4 | 1.00 |
$’n = 0\nfor d in digits:\n n = 10*n + d\n return n’ | 186 | 4 | 4.29 |
reduce(lambda n,d:10*n+d, digits) | 244 | 9 | 5.62 |
- N=10000:
digits2int(digits) | Median, ms | std dev, ms | ratio |
---|---|---|---|
int(“”.join(map(str, digits))) | 0.890 | 0.029 | 1.00 |
$’n = 0\nfor d in digits:\n n = 10*n + d\n return n’ | 13.2 | 0.3 | 14.83 |
reduce(lambda n,d:10*n+d, digits) | 13.7 | 0.5 | 15.39 |
- N=10:
digits2int(digits) | Median, us | std dev, us | ratio |
---|---|---|---|
$’n = 0\nfor d in digits:\n n = 10*n + d\n return n’ | 1.04 | 0.07 | 1.00 |
reduce(lambda n,d:10*n+d, digits) | 2.14 | 0.1 | 2.06 |
int(“”.join(map(str, digits))) | 3.46 | 0.1 | 3.33 |
- N=10000:
digits2int(digits) | Median, ms | std dev, ms | ratio |
---|---|---|---|
int(“”.join(map(str, digits))) | 3.05 | 0.15 | 1.00 |
$’n = 0\nfor d in digits:\n n = 10*n + d\n return n’ | 17.4 | 0.4 | 5.70 |
reduce(lambda n,d:10*n+d, digits) | 18.9 | 0.6 | 6.20 |