skirpichev · GitHub

Conversation

@skirpichev

Second commit (patch v2) has a quick path for int64_t-sized integers.

Benchmark master patch patch2
1<<7 651 ns 658 ns: 1.01x slower 531 ns: 1.22x faster
1<<38 747 ns 700 ns: 1.07x faster 533 ns: 1.40x faster
1<<300 2.35 us 2.32 us: 1.01x faster not significant
Geometric mean (ref) 1.02x faster 1.15x faster

Benchmark hidden because not significant (1): 1<<3000

Details
import pyperf
from decimal import Decimal as D
runner = pyperf.Runner()
runner.bench_func('1<<7', int, D(1 << 7))
runner.bench_func('1<<38', int, D(1 << 38))
runner.bench_func('1<<300', int, D(1 << 300))
runner.bench_func('1<<3000', int, D(1 << 3000))

@skirpichev

Merged

@vstinner

@skirpichev

Closed

@vstinner

@skirpichev

@skirpichev

Merged

Labels

None yet

Read the original on github.com ↗