Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This increase performance significantly, see below. However, it requires shipping our own integer exponentiation implementation, because `u64` exponents are not supported by `std` or `num`. Before: ``` test distr_binomial ... bench: 88,365 ns/iter (+/- 2,215) =90 MB/s test distr_binomial_small ... bench: 33,775 ns/iter (+/- 5,494) =236 MB/s test misc_binomial_1 ... bench: 13 ns/iter (+/- 2) test misc_binomial_10 ... bench: 72 ns/iter (+/- 1) test misc_binomial_100 ... bench: 71 ns/iter (+/- 11) test misc_binomial_1000 ... bench: 624 ns/iter (+/- 19) test misc_binomial_1e12 ... bench: 681 ns/iter (+/- 18) ``` After: ``` test distr_binomial ... bench: 44,354 ns/iter (+/- 3,518) = 180 MB/s test distr_binomial_small ... bench: 22,736 ns/iter (+/- 514) = 351 MB/s test misc_binomial_1 ... bench: 10 ns/iter (+/- 0) test misc_binomial_10 ... bench: 23 ns/iter (+/- 0) test misc_binomial_100 ... bench: 27 ns/iter (+/- 4) test misc_binomial_1000 ... bench: 621 ns/iter (+/- 15) test misc_binomial_1e12 ... bench: 686 ns/iter (+/- 20) ```
- Loading branch information