MartinBernstorff / iterpy

⛓️ Iterators for Python with higher-order functions .map(), .filter() and .reduce(), also known as a fluent interface. As seen in Rust, Scala, Javascript etc.
Other
10 stars 0 forks source link

feat(#117): implement __bool__ #121

Closed MartinBernstorff closed 8 months ago

MartinBernstorff commented 8 months ago

Fixes #117

MartinBernstorff commented 8 months ago

Current dependencies on/for this PR:

This stack of pull requests is managed by Graphite.

codspeed-hq[bot] commented 8 months ago

CodSpeed Performance Report

Merging #121 will improve performances by ×3.3

Comparing feat/117/implement_bool (a5de654) with main (e6e2f81)

Summary

⚡ 16 improvements ✅ 5 untouched benchmarks

Benchmarks breakdown

Benchmark main feat/117/implement___bool__ Change
test_benchmark_iter[any] 366.5 µs 150.7 µs ×2.4
test_benchmark_iter[count] 1.3 ms 1.1 ms +20.02%
test_benchmark_iter[enumerate] 2.6 ms 1.9 ms +38.55%
test_benchmark_iter[find] 347.1 µs 133.7 µs ×2.6
test_benchmark_iter[groupby] 15.1 ms 13.5 ms +12.32%
test_benchmark_iter[last] 558.6 µs 340.5 µs +64.05%
test_benchmark_iter[map] 2.2 ms 1.9 ms +12.65%
test_benchmark_iter[reduce] 2.2 ms 1.9 ms +11.09%
test_benchmark_iter[rev] 443.1 µs 207.2 µs ×2.1
test_benchmark_iter[take] 355.6 µs 137.2 µs ×2.6
test_benchmark_iter[to_consumable] 340.8 µs 107.2 µs ×3.2
test_benchmark_iter[to_list] 334.9 µs 100.2 µs ×3.3
test_benchmark_iter[to_set] 802.5 µs 564.2 µs +42.25%
test_benchmark_iter[to_tuple] 479.6 µs 248.7 µs +92.81%
test_benchmark_iter[unique] 952.5 µs 724.4 µs +31.49%
test_benchmark_iter[zip] 421.2 µs 202 µs ×2.1
codspeed-hq[bot] commented 8 months ago

CodSpeed Performance Report

Merging #121 will improve performances by ×3.4

:warning: No base runs were found

Falling back to comparing feat/117/implement_bool (50dfc3f) with main (07f4063)

Summary

⚡ 17 improvements ✅ 4 untouched benchmarks

Benchmarks breakdown

Benchmark main feat/117/implement___bool__ Change
test_benchmark_iter[any] 366.6 µs 148.5 µs ×2.5
test_benchmark_iter[count] 1.3 ms 1.1 ms +19.24%
test_benchmark_iter[enumerate] 2.4 ms 1.6 ms +47.13%
test_benchmark_iter[filter] 2.3 ms 2 ms +15.03%
test_benchmark_iter[find] 346.8 µs 131.9 µs ×2.6
test_benchmark_iter[groupby] 14.2 ms 12.4 ms +14.34%
test_benchmark_iter[last] 591.6 µs 373.7 µs +58.3%
test_benchmark_iter[map] 1.9 ms 1.7 ms +13.94%
test_benchmark_iter[reduce] 1.8 ms 1.6 ms +13.48%
test_benchmark_iter[rev] 442.9 µs 208.3 µs ×2.1
test_benchmark_iter[take] 355.6 µs 134.4 µs ×2.6
test_benchmark_iter[to_consumable] 341.2 µs 107 µs ×3.2
test_benchmark_iter[to_list] 337.1 µs 99.8 µs ×3.4
test_benchmark_iter[to_set] 817.8 µs 574.1 µs +42.44%
test_benchmark_iter[to_tuple] 459.5 µs 219.8 µs ×2.1
test_benchmark_iter[unique] 972.7 µs 736.1 µs +32.14%
test_benchmark_iter[zip] 431 µs 210 µs ×2.1