tkf / ThreadsX.jl

Parallelized Base functions
MIT License
321 stars 10 forks source link

Add ThreadsX.mapi #162

Closed tkf closed 4 years ago

tkf commented 4 years ago

close #161

require https://github.com/JuliaFolds/Transducers.jl/pull/431

Commit Message

Add ThreadsX.mapi: threaded map with purely sequential iterators (#162)

This PR uses NondeterministicThreading added in https://github.com/JuliaFolds/Transducers.jl/pull/431 to implement threaded map that does not use SplittablesBase.halve.

codecov[bot] commented 4 years ago

Codecov Report

Merging #162 into master will decrease coverage by 0.13%. The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #162      +/-   ##
==========================================
- Coverage   80.66%   80.53%   -0.14%     
==========================================
  Files           9        9              
  Lines         450      452       +2     
==========================================
+ Hits          363      364       +1     
- Misses         87       88       +1     
Impacted Files Coverage Δ
src/ThreadsX.jl 0.00% <ø> (-50.00%) :arrow_down:
src/map.jl 96.15% <100.00%> (+0.32%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update b36e778...1dddaa4. Read the comment docs.

tkf commented 4 years ago
ID time GC time memory allocations
... ... ... ... ...
["mapi", "collatz", "base"] 297.872 ms (5%) 7.63 MiB (1%) 2
["mapi", "collatz", "tx"] 197.858 ms (5%) 5.070 ms 156.05 MiB (1%) 2016660
["mapi", "consume-100us", "base"] 2.000 ms (5%) 240 bytes (1%) 1
["mapi", "consume-100us", "tx"] 1.215 ms (5%) 58.61 KiB (1%) 1099
["mapi", "consume-1ms", "base"] 20.001 ms (5%) 240 bytes (1%) 1
["mapi", "consume-1ms", "tx"] 10.383 ms (5%) 59.66 KiB (1%) 1121
... ... ... ... ...

--- https://github.com/tkf/ThreadsX-data/blob/benchmark-results/2020/10/09/020052/result.md