Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve performance of collect using BangBang.collector #286

Merged
merged 4 commits into from
May 21, 2020
Merged

Conversation

tkf
Copy link
Member

@tkf tkf commented May 21, 2020

JuliaFolds/BangBang.jl#143

  • Require BangBang 0.3.21

Commit Message

Improve performance of collect using BangBang.collector (#286)

@github-actions
Copy link
Contributor

Benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 05:47
    • Baseline: 21 May 2020 - 05:51
  • Package commits:
    • Target: 5c0c04
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1
    • Baseline: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["cat", "base"] 1.05 (5%) ❌ 1.00 (1%)
["collect", "filter-missing"] 1.18 (5%) ❌ 10.46 (1%) ❌
["collect", "identity-float"] 1.13 (5%) ❌ 2.22 (1%) ❌
["collect", "identity-union"] 0.89 (5%) ✅ 2.47 (1%) ❌
["findall", "xf-array"] 1.14 (5%) ❌ 1.00 (1%)
["findall", "xf-iter"] 0.96 (5%) 2.52 (1%) ❌
["gemm", "mul", "man", "false", "8"] 1.30 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "32"] 1.05 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "8"] 1.29 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "true", "32"] 1.05 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "true", "8"] 1.35 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "false", "8"] 1.06 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "ivdep", "8"] 1.31 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "true", "8"] 1.32 (5%) ❌ 1.00 (1%)
["groupby", "sum", "sac"] 0.95 (5%) ✅ 1.00 (1%)
["groupby", "sum", "xf-with-init"] 0.92 (5%) ✅ 1.00 (1%)
["groupby", "sum", "xf-without-init"] 0.93 (5%) ✅ 1.00 (1%)
["missing_dot", "equiv"] 0.93 (5%) ✅ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2394 MHz      43000 s          0 s       1290 s      25640 s          0 s
       #2  2394 MHz      15054 s          0 s       1432 s      53859 s          0 s
       
  Memory: 6.764888763427734 GB (3425.20703125 MB free)
  Uptime: 783.0 sec
  Load Avg:  1.0087890625  1.00537109375  0.69775390625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, haswell)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2394 MHz      64766 s          0 s       1492 s      28583 s          0 s
       #2  2394 MHz      18185 s          0 s       1550 s      75614 s          0 s
       
  Memory: 6.764888763427734 GB (3469.4296875 MB free)
  Uptime: 1035.0 sec
  Load Avg:  1.0  1.0  0.77880859375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, haswell)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 5:47
  • Package commit: 5c0c04
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 2.078 μs (5%)
["cat", "xf"] 1.810 μs (5%)
["collect", "filter-missing"] 125.301 μs (5%) 345.42 KiB (1%) 10017
["collect", "identity-float"] 95.400 μs (5%) 569.27 KiB (1%) 10017
["collect", "identity-union"] 375.601 μs (5%) 704.97 KiB (1%) 16652
["dot", "blas"] 2.333 μs (5%)
["dot", "man"] 2.311 μs (5%)
["dot", "rf"] 2.733 μs (5%)
["dot", "xf"] 2.733 μs (5%)
["filter_map_map!", "man"] 65.701 μs (5%)
["filter_map_map!", "xf"] 70.600 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 259.900 μs (5%)
["filter_map_reduce", "xf"] 259.900 μs (5%)
["findall", "base"] 1.043 ms (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 872.202 μs (5%) 3.06 MiB (1%) 100112
["findall", "xf-iter"] 1.011 ms (5%) 5.05 MiB (1%) 99926
["gemm", "fusedmul", "blas", "16"] 4.807 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.544 ms (5%)
["gemm", "fusedmul", "blas", "32"] 6.483 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.683 ms (5%)
["gemm", "fusedmul", "xf", "16"] 5.442 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 665.601 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 11.030 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.643 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 1.007 ms (5%)
["gemm", "mul", "linalg", "32"] 3.587 μs (5%)
["gemm", "mul", "linalg", "8"] 302.335 ns (5%)
["gemm", "mul", "man", "false", "256"] 4.427 ms (5%)
["gemm", "mul", "man", "false", "32"] 7.350 μs (5%)
["gemm", "mul", "man", "false", "8"] 520.313 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 4.306 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 6.620 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 514.583 ns (5%)
["gemm", "mul", "man", "true", "256"] 4.419 ms (5%)
["gemm", "mul", "man", "true", "32"] 7.275 μs (5%)
["gemm", "mul", "man", "true", "8"] 541.489 ns (5%)
["gemm", "mul", "xf", "false", "256"] 4.317 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 7.550 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 530.526 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 4.305 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 6.120 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 522.513 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 4.312 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 7.300 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 529.474 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 280.301 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 214.000 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 209.200 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 1.420 μs (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.911 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.933 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 1.410 μs (5%) 16 bytes (1%) 1
["missing_dot", "man"] 1.350 μs (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 5.433 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 1.350 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 1.500 μs (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 244.901 μs (5%) 72.08 KiB (1%) 3737
["missing_dot", "xf_nota"] 247.300 μs (5%) 72.25 KiB (1%) 3746
["partition_by", "man"] 2.214 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 3.298 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2394 MHz      43000 s          0 s       1290 s      25640 s          0 s
       #2  2394 MHz      15054 s          0 s       1432 s      53859 s          0 s
       
  Memory: 6.764888763427734 GB (3425.20703125 MB free)
  Uptime: 783.0 sec
  Load Avg:  1.0087890625  1.00537109375  0.69775390625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, haswell)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 5:51
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 1.978 μs (5%)
["cat", "xf"] 1.830 μs (5%)
["collect", "filter-missing"] 106.000 μs (5%) 33.03 KiB (1%) 19
["collect", "identity-float"] 84.300 μs (5%) 256.89 KiB (1%) 19
["collect", "identity-union"] 424.400 μs (5%) 285.30 KiB (1%) 6670
["dot", "blas"] 2.333 μs (5%)
["dot", "man"] 2.333 μs (5%)
["dot", "rf"] 2.733 μs (5%)
["dot", "xf"] 2.733 μs (5%)
["filter_map_map!", "man"] 65.800 μs (5%)
["filter_map_map!", "xf"] 71.700 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 259.900 μs (5%)
["filter_map_reduce", "xf"] 259.900 μs (5%)
["findall", "base"] 1.038 ms (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 766.301 μs (5%) 3.05 MiB (1%) 100014
["findall", "xf-iter"] 1.048 ms (5%) 2.00 MiB (1%) 28
["gemm", "fusedmul", "blas", "16"] 4.821 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.547 ms (5%)
["gemm", "fusedmul", "blas", "32"] 6.494 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.703 ms (5%)
["gemm", "fusedmul", "xf", "16"] 5.470 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 677.203 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 10.662 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.729 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 1.005 ms (5%)
["gemm", "mul", "linalg", "32"] 3.700 μs (5%)
["gemm", "mul", "linalg", "8"] 300.000 ns (5%)
["gemm", "mul", "man", "false", "256"] 4.403 ms (5%)
["gemm", "mul", "man", "false", "32"] 7.100 μs (5%)
["gemm", "mul", "man", "false", "8"] 400.000 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 4.270 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 6.300 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 400.000 ns (5%)
["gemm", "mul", "man", "true", "256"] 4.282 ms (5%)
["gemm", "mul", "man", "true", "32"] 6.900 μs (5%)
["gemm", "mul", "man", "true", "8"] 400.000 ns (5%)
["gemm", "mul", "xf", "false", "256"] 4.292 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 7.200 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 500.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 4.387 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 5.900 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 400.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 4.295 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 7.000 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 400.000 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 296.101 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 233.401 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 225.801 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 1.420 μs (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.933 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.911 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 1.520 μs (5%) 16 bytes (1%) 1
["missing_dot", "man"] 1.350 μs (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 5.433 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 1.360 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 1.470 μs (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 241.400 μs (5%) 72.06 KiB (1%) 3738
["missing_dot", "xf_nota"] 244.701 μs (5%) 71.81 KiB (1%) 3728
["partition_by", "man"] 2.196 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 3.322 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2394 MHz      64766 s          0 s       1492 s      28583 s          0 s
       #2  2394 MHz      18185 s          0 s       1550 s      75614 s          0 s
       
  Memory: 6.764888763427734 GB (3469.4296875 MB free)
  Uptime: 1035.0 sec
  Load Avg:  1.0  1.0  0.77880859375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, haswell)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               63
Model name:          Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Stepping:            2
CPU MHz:             2394.456
BogoMIPS:            4788.91
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            30720K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt md_clear
Cpu Property Value
Brand Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
Vendor :Intel
Architecture :Haswell
Model Family: 0x06, Model: 0x3f, Stepping: 0x02, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 256, 30720) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@github-actions
Copy link
Contributor

Multi-thread benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 05:47
    • Baseline: 21 May 2020 - 05:52
  • Package commits:
    • Target: 5c0c04
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: JULIA_NUM_THREADS => 2
    • Baseline: JULIA_NUM_THREADS => 2

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["collect", "seq"] 0.96 (5%) 3.00 (1%) ❌
["collect", "unordered", "basesize=1024"] 0.85 (5%) ✅ 0.91 (1%) ✅
["findfirst", "n=400", "foldl"] 1.07 (5%) ❌ 1.00 (1%)
["findfirst", "n=500", "foldl"] 0.93 (5%) ✅ 1.00 (1%)
["findfirst", "n=500", "reduce", "basesize=512"] 0.91 (5%) ✅ 1.00 (1%)
["overhead", "stoppable=true"] 1.08 (5%) ❌ 1.00 (1%)
["parallel_histogram", "assoc", "basesize=16384"] 0.94 (5%) ✅ 1.00 (1%)
["parallel_histogram", "comm", "basesize=4096"] 1.06 (5%) ❌ 1.00 (1%)
["parallel_histogram", "comm", "basesize=8192"] 1.01 (5%) 1.01 (1%) ❌
["parallel_histogram", "seq"] 0.89 (5%) ✅ 1.00 (1%)
["sum", "random", "foldl"] 1.13 (5%) ❌ 1.00 (1%)
["sum", "random", "reduce", "basesize=256"] 0.90 (5%) ✅ 1.00 (1%)
["sum", "uniform", "reduce", "basesize=256"] 0.92 (5%) ✅ 1.00 (1%)
["sum", "valley", "reduce", "basesize=512"] 1.06 (5%) ❌ 1.00 (1%)
["words", "nthreads=4"] 1.05 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      52919 s          0 s       2159 s      23743 s          0 s
       #2  2095 MHz      43704 s          0 s       2424 s      33152 s          0 s
       
  Memory: 6.764888763427734 GB (3505.07421875 MB free)
  Uptime: 810.0 sec
  Load Avg:  1.7041015625  1.48681640625  0.9013671875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      75816 s          0 s       2736 s      29219 s          0 s
       #2  2095 MHz      65529 s          0 s       2917 s      39769 s          0 s
       
  Memory: 6.764888763427734 GB (3492.0234375 MB free)
  Uptime: 1102.0 sec
  Load Avg:  1.587890625  1.54833984375  1.0908203125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 5:47
  • Package commit: 5c0c04
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 347.179 ms (5%) 12.929 ms 87.55 MiB (1%) 1590780
["collect", "assoc", "basesize=1024"] 217.422 ms (5%) 1.84 MiB (1%) 1811
["collect", "assoc", "basesize=32"] 219.104 ms (5%) 5.64 MiB (1%) 54010
["collect", "seq"] 420.128 ms (5%) 1.50 MiB (1%) 32786
["collect", "unordered", "basesize=1"] 439.883 ms (5%) 29.15 MiB (1%) 402647
["collect", "unordered", "basesize=1024"] 296.245 ms (5%) 806.02 KiB (1%) 4677
["collect", "unordered", "basesize=32"] 257.110 ms (5%) 1.46 MiB (1%) 16383
["findfirst", "n=1000", "foldl"] 681.824 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 347.806 ms (5%) 563.86 KiB (1%) 10218
["findfirst", "n=1000", "reduce", "basesize=256"] 340.386 ms (5%) 287.11 KiB (1%) 5217
["findfirst", "n=1000", "reduce", "basesize=512"] 351.169 ms (5%) 149.14 KiB (1%) 2714
["findfirst", "n=400", "foldl"] 522.904 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 262.799 ms (5%) 1.02 MiB (1%) 18944
["findfirst", "n=400", "reduce", "basesize=256"] 256.253 ms (5%) 525.84 KiB (1%) 9554
["findfirst", "n=400", "reduce", "basesize=512"] 266.989 ms (5%) 267.09 KiB (1%) 4871
["findfirst", "n=500", "foldl"] 83.997 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 43.727 ms (5%) 157.09 KiB (1%) 2835
["findfirst", "n=500", "reduce", "basesize=256"] 42.673 ms (5%) 84.30 KiB (1%) 1521
["findfirst", "n=500", "reduce", "basesize=512"] 45.534 ms (5%) 48.09 KiB (1%) 869
["overhead", "default"] 154.208 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=false"] 156.507 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=true"] 280.412 μs (5%) 146.41 KiB (1%) 2645
["parallel_histogram", "assoc", "basesize=16384"] 4.047 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 4.993 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 4.370 ms (5%) 1.43 MiB (1%) 243
["parallel_histogram", "comm", "basesize=16384"] 14.975 ms (5%) 1.22 MiB (1%) 156
["parallel_histogram", "comm", "basesize=4096"] 24.361 ms (5%) 1.05 MiB (1%) 4290
["parallel_histogram", "comm", "basesize=8192"] 20.203 ms (5%) 1.26 MiB (1%) 2645
["parallel_histogram", "seq"] 7.162 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 16.590 ms (5%)
["sum", "random", "reduce", "basesize=128"] 8.222 ms (5%) 313.33 KiB (1%) 6067
["sum", "random", "reduce", "basesize=256"] 7.534 ms (5%) 155.06 KiB (1%) 3009
["sum", "random", "reduce", "basesize=512"] 7.826 ms (5%) 76.25 KiB (1%) 1484
["sum", "uniform", "foldl"] 14.618 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 7.849 ms (5%) 313.38 KiB (1%) 6070
["sum", "uniform", "reduce", "basesize=256"] 7.373 ms (5%) 155.13 KiB (1%) 3013
["sum", "uniform", "reduce", "basesize=512"] 7.704 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 15.435 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 7.973 ms (5%) 313.27 KiB (1%) 6063
["sum", "valley", "reduce", "basesize=256"] 8.250 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 8.076 ms (5%) 76.25 KiB (1%) 1484
["words", "nthreads=1"] 36.238 ms (5%) 6.523 ms 64.60 MiB (1%) 2090325
["words", "nthreads=2"] 20.151 ms (5%) 64.96 MiB (1%) 2090401
["words", "nthreads=4"] 19.917 ms (5%) 65.68 MiB (1%) 2090556

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      52919 s          0 s       2159 s      23743 s          0 s
       #2  2095 MHz      43704 s          0 s       2424 s      33152 s          0 s
       
  Memory: 6.764888763427734 GB (3505.07421875 MB free)
  Uptime: 810.0 sec
  Load Avg:  1.7041015625  1.48681640625  0.9013671875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 5:52
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 355.639 ms (5%) 9.870 ms 87.55 MiB (1%) 1590777
["collect", "assoc", "basesize=1024"] 216.847 ms (5%) 1.84 MiB (1%) 1812
["collect", "assoc", "basesize=32"] 223.311 ms (5%) 5.64 MiB (1%) 54023
["collect", "seq"] 439.925 ms (5%) 512.95 KiB (1%) 20
["collect", "unordered", "basesize=1"] 428.921 ms (5%) 29.15 MiB (1%) 402409
["collect", "unordered", "basesize=1024"] 350.584 ms (5%) 889.48 KiB (1%) 10019
["collect", "unordered", "basesize=32"] 256.375 ms (5%) 1.47 MiB (1%) 16437
["findfirst", "n=1000", "foldl"] 675.310 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 357.532 ms (5%) 563.98 KiB (1%) 10226
["findfirst", "n=1000", "reduce", "basesize=256"] 342.092 ms (5%) 287.11 KiB (1%) 5217
["findfirst", "n=1000", "reduce", "basesize=512"] 353.173 ms (5%) 149.13 KiB (1%) 2713
["findfirst", "n=400", "foldl"] 489.462 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 265.655 ms (5%) 1.02 MiB (1%) 18927
["findfirst", "n=400", "reduce", "basesize=256"] 262.999 ms (5%) 525.69 KiB (1%) 9544
["findfirst", "n=400", "reduce", "basesize=512"] 254.837 ms (5%) 266.94 KiB (1%) 4861
["findfirst", "n=500", "foldl"] 90.135 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 43.108 ms (5%) 157.09 KiB (1%) 2835
["findfirst", "n=500", "reduce", "basesize=256"] 44.546 ms (5%) 84.33 KiB (1%) 1523
["findfirst", "n=500", "reduce", "basesize=512"] 50.201 ms (5%) 48.09 KiB (1%) 869
["overhead", "default"] 160.815 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=false"] 159.314 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=true"] 258.923 μs (5%) 146.41 KiB (1%) 2645
["parallel_histogram", "assoc", "basesize=16384"] 4.318 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 5.066 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 4.331 ms (5%) 1.43 MiB (1%) 242
["parallel_histogram", "comm", "basesize=16384"] 14.473 ms (5%) 1.22 MiB (1%) 178
["parallel_histogram", "comm", "basesize=4096"] 23.071 ms (5%) 1.05 MiB (1%) 5042
["parallel_histogram", "comm", "basesize=8192"] 20.060 ms (5%) 1.24 MiB (1%) 1473
["parallel_histogram", "seq"] 8.023 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 14.695 ms (5%)
["sum", "random", "reduce", "basesize=128"] 7.873 ms (5%) 313.34 KiB (1%) 6068
["sum", "random", "reduce", "basesize=256"] 8.357 ms (5%) 155.11 KiB (1%) 3012
["sum", "random", "reduce", "basesize=512"] 7.652 ms (5%) 76.25 KiB (1%) 1484
["sum", "uniform", "foldl"] 14.697 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 7.662 ms (5%) 313.36 KiB (1%) 6069
["sum", "uniform", "reduce", "basesize=256"] 8.057 ms (5%) 155.09 KiB (1%) 3011
["sum", "uniform", "reduce", "basesize=512"] 7.958 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 15.125 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 8.039 ms (5%) 313.27 KiB (1%) 6063
["sum", "valley", "reduce", "basesize=256"] 8.170 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 7.593 ms (5%) 76.25 KiB (1%) 1484
["words", "nthreads=1"] 36.388 ms (5%) 6.960 ms 64.89 MiB (1%) 2099727
["words", "nthreads=2"] 19.250 ms (5%) 65.25 MiB (1%) 2099803
["words", "nthreads=4"] 18.939 ms (5%) 65.97 MiB (1%) 2099958

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      75816 s          0 s       2736 s      29219 s          0 s
       #2  2095 MHz      65529 s          0 s       2917 s      39769 s          0 s
       
  Memory: 6.764888763427734 GB (3492.0234375 MB free)
  Uptime: 1102.0 sec
  Load Avg:  1.587890625  1.54833984375  1.0908203125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Stepping:            4
CPU MHz:             2095.192
BogoMIPS:            4190.38
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            36608K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

Using commit:
Fix append!!(::AbstractCollector, ::AbstractCollector)
JuliaFolds/BangBang.jl@a3af794
@tkf
Copy link
Member Author

tkf commented May 21, 2020

PR e642869 with Julia 1.6.0-DEV.62:

3-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "identity-union" => Trial(337.158 μs)
  "identity-float" => Trial(17.091 μs)
  "filter-missing" => Trial(43.867 μs)

master 4b25dcc with Julia 1.6.0-DEV.62:

3-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "identity-union" => Trial(349.913 μs)
  "identity-float" => Trial(54.675 μs)
  "filter-missing" => Trial(79.479 μs)

PR e642869 with Julia 1.4.1:

3-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "identity-union" => Trial(266.241 μs)
  "identity-float" => Trial(70.341 μs)
  "filter-missing" => Trial(92.778 μs)

master 4b25dcc with Julia 1.4.1:

3-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "identity-union" => Trial(296.679 μs)
  "identity-float" => Trial(54.757 μs)
  "filter-missing" => Trial(77.499 μs)

So, like JuliaFolds/BangBang.jl#143 (comment), this also needs Julia 1.6 (or maybe 1.5).

@codecov-commenter
Copy link

codecov-commenter commented May 21, 2020

Codecov Report

Merging #286 into master will increase coverage by 0.07%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #286      +/-   ##
==========================================
+ Coverage   90.17%   90.25%   +0.07%     
==========================================
  Files          20       20              
  Lines        1395     1395              
==========================================
+ Hits         1258     1259       +1     
+ Misses        137      136       -1     
Impacted Files Coverage Δ
src/Transducers.jl 90.90% <ø> (ø)
src/processes.jl 87.35% <100.00%> (ø)
src/library.jl 93.11% <0.00%> (+0.22%) ⬆️

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 4b25dcc...cd15e97. Read the comment docs.

@github-actions
Copy link
Contributor

Benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 06:13
    • Baseline: 21 May 2020 - 06:16
  • Package commits:
    • Target: ab0c44
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1
    • Baseline: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["cat", "base"] 1.06 (5%) ❌ 1.00 (1%)
["collect", "filter-missing"] 1.17 (5%) ❌ 10.46 (1%) ❌
["collect", "identity-float"] 1.14 (5%) ❌ 2.22 (1%) ❌
["collect", "identity-union"] 0.89 (5%) ✅ 2.47 (1%) ❌
["filter_map_map!", "man"] 0.94 (5%) ✅ 1.00 (1%)
["filter_map_map!", "xf"] 0.94 (5%) ✅ 1.00 (1%)
["findall", "xf-array"] 1.12 (5%) ❌ 1.00 (1%)
["findall", "xf-iter"] 1.00 (5%) 2.52 (1%) ❌
["gemm", "mul", "man", "false", "32"] 0.95 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "false", "8"] 1.30 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "32"] 0.92 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "8"] 1.32 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "true", "32"] 1.17 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "false", "8"] 1.06 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "ivdep", "8"] 1.31 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "true", "8"] 1.33 (5%) ❌ 1.00 (1%)
["groupby", "sum", "sac"] 0.95 (5%) ✅ 1.00 (1%)
["groupby", "sum", "xf-with-init"] 0.88 (5%) ✅ 1.00 (1%)
["groupby", "sum", "xf-without-init"] 0.89 (5%) ✅ 1.00 (1%)
["missing_dot", "equiv"] 0.92 (5%) ✅ 1.00 (1%)
["missing_dot", "xf_nota"] 1.09 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      48669 s          0 s       1311 s       9346 s          0 s
       #2  2294 MHz       6588 s          0 s       1272 s      51656 s          0 s
       
  Memory: 6.764888763427734 GB (3348.62109375 MB free)
  Uptime: 608.0 sec
  Load Avg:  1.02734375  0.9248046875  0.53466796875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      59560 s          0 s       1465 s      21897 s          0 s
       #2  2294 MHz      19257 s          0 s       1412 s      62441 s          0 s
       
  Memory: 6.764888763427734 GB (3380.00390625 MB free)
  Uptime: 845.0 sec
  Load Avg:  1.10595703125  1.02294921875  0.66796875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 6:13
  • Package commit: ab0c44
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 1.570 μs (5%)
["cat", "xf"] 1.380 μs (5%)
["collect", "filter-missing"] 92.600 μs (5%) 345.42 KiB (1%) 10017
["collect", "identity-float"] 68.800 μs (5%) 569.27 KiB (1%) 10017
["collect", "identity-union"] 275.699 μs (5%) 705.55 KiB (1%) 16689
["dot", "blas"] 2.255 μs (5%)
["dot", "man"] 2.244 μs (5%)
["dot", "rf"] 2.656 μs (5%)
["dot", "xf"] 2.656 μs (5%)
["filter_map_map!", "man"] 66.300 μs (5%)
["filter_map_map!", "xf"] 68.899 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 194.897 μs (5%)
["filter_map_reduce", "xf"] 194.899 μs (5%)
["findall", "base"] 753.298 μs (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 638.498 μs (5%) 3.06 MiB (1%) 100117
["findall", "xf-iter"] 746.398 μs (5%) 5.05 MiB (1%) 99921
["gemm", "fusedmul", "blas", "16"] 4.965 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.480 ms (5%)
["gemm", "fusedmul", "blas", "32"] 7.141 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.744 ms (5%)
["gemm", "fusedmul", "xf", "16"] 4.807 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 607.896 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 9.958 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.401 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 1.211 ms (5%)
["gemm", "mul", "linalg", "32"] 3.725 μs (5%)
["gemm", "mul", "linalg", "8"] 292.853 ns (5%)
["gemm", "mul", "man", "false", "256"] 4.216 ms (5%)
["gemm", "mul", "man", "false", "32"] 6.900 μs (5%)
["gemm", "mul", "man", "false", "8"] 390.094 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 4.184 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 6.080 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 396.054 ns (5%)
["gemm", "mul", "man", "true", "256"] 4.445 ms (5%)
["gemm", "mul", "man", "true", "32"] 7.700 μs (5%)
["gemm", "mul", "man", "true", "8"] 405.495 ns (5%)
["gemm", "mul", "xf", "false", "256"] 4.354 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 6.900 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 421.495 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 4.170 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 5.533 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 393.064 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 4.215 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 6.900 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 396.512 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 207.299 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 158.499 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 157.199 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 895.652 ns (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.122 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.122 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 911.302 ns (5%) 16 bytes (1%) 1
["missing_dot", "man"] 871.980 ns (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 4.057 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 846.835 ns (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 928.571 ns (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 182.498 μs (5%) 71.92 KiB (1%) 3733
["missing_dot", "xf_nota"] 189.798 μs (5%) 72.27 KiB (1%) 3748
["partition_by", "man"] 1.635 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 2.462 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      48669 s          0 s       1311 s       9346 s          0 s
       #2  2294 MHz       6588 s          0 s       1272 s      51656 s          0 s
       
  Memory: 6.764888763427734 GB (3348.62109375 MB free)
  Uptime: 608.0 sec
  Load Avg:  1.02734375  0.9248046875  0.53466796875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 6:16
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 1.480 μs (5%)
["cat", "xf"] 1.400 μs (5%)
["collect", "filter-missing"] 79.200 μs (5%) 33.03 KiB (1%) 19
["collect", "identity-float"] 60.100 μs (5%) 256.89 KiB (1%) 19
["collect", "identity-union"] 311.299 μs (5%) 285.91 KiB (1%) 6673
["dot", "blas"] 2.256 μs (5%)
["dot", "man"] 2.222 μs (5%)
["dot", "rf"] 2.667 μs (5%)
["dot", "xf"] 2.655 μs (5%)
["filter_map_map!", "man"] 70.500 μs (5%)
["filter_map_map!", "xf"] 73.199 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 194.899 μs (5%)
["filter_map_reduce", "xf"] 194.899 μs (5%)
["findall", "base"] 723.497 μs (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 567.897 μs (5%) 3.05 MiB (1%) 100014
["findall", "xf-iter"] 745.097 μs (5%) 2.00 MiB (1%) 28
["gemm", "fusedmul", "blas", "16"] 5.041 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.492 ms (5%)
["gemm", "fusedmul", "blas", "32"] 7.154 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.764 ms (5%)
["gemm", "fusedmul", "xf", "16"] 5.059 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 606.497 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 9.741 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.474 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 1.211 ms (5%)
["gemm", "mul", "linalg", "32"] 3.799 μs (5%)
["gemm", "mul", "linalg", "8"] 299.000 ns (5%)
["gemm", "mul", "man", "false", "256"] 4.301 ms (5%)
["gemm", "mul", "man", "false", "32"] 7.299 μs (5%)
["gemm", "mul", "man", "false", "8"] 299.000 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 4.242 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 6.599 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 300.000 ns (5%)
["gemm", "mul", "man", "true", "256"] 4.266 ms (5%)
["gemm", "mul", "man", "true", "32"] 6.599 μs (5%)
["gemm", "mul", "man", "true", "8"] 399.000 ns (5%)
["gemm", "mul", "xf", "false", "256"] 4.270 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 6.999 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 399.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 4.236 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 5.699 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 299.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 4.290 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 6.799 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 299.000 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 219.099 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 181.000 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 175.899 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 891.304 ns (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.100 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.111 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 994.340 ns (5%) 16 bytes (1%) 1
["missing_dot", "man"] 878.000 ns (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 4.043 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 850.620 ns (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 924.469 ns (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 175.099 μs (5%) 72.19 KiB (1%) 3744
["missing_dot", "xf_nota"] 174.500 μs (5%) 72.20 KiB (1%) 3746
["partition_by", "man"] 1.628 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 2.498 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      59560 s          0 s       1465 s      21897 s          0 s
       #2  2294 MHz      19257 s          0 s       1412 s      62441 s          0 s
       
  Memory: 6.764888763427734 GB (3380.00390625 MB free)
  Uptime: 845.0 sec
  Load Avg:  1.10595703125  1.02294921875  0.66796875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               79
Model name:          Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
Stepping:            1
CPU MHz:             2294.684
BogoMIPS:            4589.36
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            51200K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt md_clear
Cpu Property Value
Brand Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
Vendor :Intel
Architecture :Broadwell
Model Family: 0x06, Model: 0x4f, Stepping: 0x01, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 256, 51200) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@tkf tkf changed the title Use BangBang.collector Improve performance of collect using BangBang.collector May 21, 2020
@github-actions
Copy link
Contributor

Multi-thread benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 06:14
    • Baseline: 21 May 2020 - 06:19
  • Package commits:
    • Target: ab0c44
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: JULIA_NUM_THREADS => 2
    • Baseline: JULIA_NUM_THREADS => 2

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["collect", "seq"] 1.01 (5%) 3.00 (1%) ❌
["collect", "unordered", "basesize=1024"] 1.07 (5%) ❌ 1.06 (1%) ❌
["parallel_histogram", "comm", "basesize=4096"] 1.09 (5%) ❌ 1.05 (1%) ❌
["parallel_histogram", "comm", "basesize=8192"] 0.90 (5%) ✅ 0.98 (1%) ✅
["words", "nthreads=2"] 1.10 (5%) ❌ 1.00 (1%)
["words", "nthreads=4"] 1.07 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      46939 s          0 s       2276 s      19406 s          0 s
       #2  2095 MHz      52434 s          0 s       2502 s      13968 s          0 s
       
  Memory: 6.764888763427734 GB (3498.96875 MB free)
  Uptime: 707.0 sec
  Load Avg:  1.61083984375  1.51904296875  0.9208984375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      69595 s          0 s       2878 s      26155 s          0 s
       #2  2095 MHz      75794 s          0 s       3045 s      20144 s          0 s
       
  Memory: 6.764888763427734 GB (3471.15234375 MB free)
  Uptime: 1010.0 sec
  Load Avg:  1.81494140625  1.658203125  1.14306640625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 6:14
  • Package commit: ab0c44
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 399.754 ms (5%) 12.910 ms 87.55 MiB (1%) 1590788
["collect", "assoc", "basesize=1024"] 252.604 ms (5%) 1.84 MiB (1%) 1811
["collect", "assoc", "basesize=32"] 255.972 ms (5%) 5.64 MiB (1%) 54015
["collect", "seq"] 501.700 ms (5%) 1.50 MiB (1%) 32786
["collect", "unordered", "basesize=1"] 503.555 ms (5%) 29.15 MiB (1%) 402682
["collect", "unordered", "basesize=1024"] 368.589 ms (5%) 893.58 KiB (1%) 10281
["collect", "unordered", "basesize=32"] 285.717 ms (5%) 1.47 MiB (1%) 16556
["findfirst", "n=1000", "foldl"] 782.997 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 400.357 ms (5%) 563.97 KiB (1%) 10225
["findfirst", "n=1000", "reduce", "basesize=256"] 398.133 ms (5%) 287.13 KiB (1%) 5218
["findfirst", "n=1000", "reduce", "basesize=512"] 402.470 ms (5%) 149.14 KiB (1%) 2714
["findfirst", "n=400", "foldl"] 587.022 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 299.626 ms (5%) 1.02 MiB (1%) 18963
["findfirst", "n=400", "reduce", "basesize=256"] 298.174 ms (5%) 525.98 KiB (1%) 9563
["findfirst", "n=400", "reduce", "basesize=512"] 297.494 ms (5%) 267.02 KiB (1%) 4866
["findfirst", "n=500", "foldl"] 101.561 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 52.252 ms (5%) 157.22 KiB (1%) 2843
["findfirst", "n=500", "reduce", "basesize=256"] 51.917 ms (5%) 84.33 KiB (1%) 1523
["findfirst", "n=500", "reduce", "basesize=512"] 54.213 ms (5%) 48.09 KiB (1%) 869
["overhead", "default"] 209.410 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=false"] 210.910 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=true"] 354.016 μs (5%) 146.42 KiB (1%) 2646
["parallel_histogram", "assoc", "basesize=16384"] 5.535 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 6.272 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 5.900 ms (5%) 1.43 MiB (1%) 242
["parallel_histogram", "comm", "basesize=16384"] 16.318 ms (5%) 1.22 MiB (1%) 156
["parallel_histogram", "comm", "basesize=4096"] 24.166 ms (5%) 1.04 MiB (1%) 4642
["parallel_histogram", "comm", "basesize=8192"] 18.687 ms (5%) 1.22 MiB (1%) 168
["parallel_histogram", "seq"] 10.157 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 19.814 ms (5%)
["sum", "random", "reduce", "basesize=128"] 10.501 ms (5%) 313.31 KiB (1%) 6066
["sum", "random", "reduce", "basesize=256"] 10.267 ms (5%) 155.08 KiB (1%) 3010
["sum", "random", "reduce", "basesize=512"] 10.110 ms (5%) 76.27 KiB (1%) 1485
["sum", "uniform", "foldl"] 19.288 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 10.169 ms (5%) 313.34 KiB (1%) 6068
["sum", "uniform", "reduce", "basesize=256"] 9.986 ms (5%) 155.09 KiB (1%) 3011
["sum", "uniform", "reduce", "basesize=512"] 9.860 ms (5%) 76.27 KiB (1%) 1485
["sum", "valley", "foldl"] 19.999 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 10.531 ms (5%) 313.28 KiB (1%) 6064
["sum", "valley", "reduce", "basesize=256"] 10.350 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 10.187 ms (5%) 76.25 KiB (1%) 1484
["words", "nthreads=1"] 43.747 ms (5%) 7.520 ms 64.99 MiB (1%) 2103102
["words", "nthreads=2"] 26.495 ms (5%) 65.71 MiB (1%) 2103257
["words", "nthreads=4"] 26.403 ms (5%) 66.16 MiB (1%) 2103404

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      46939 s          0 s       2276 s      19406 s          0 s
       #2  2095 MHz      52434 s          0 s       2502 s      13968 s          0 s
       
  Memory: 6.764888763427734 GB (3498.96875 MB free)
  Uptime: 707.0 sec
  Load Avg:  1.61083984375  1.51904296875  0.9208984375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 6:19
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 397.466 ms (5%) 9.528 ms 87.55 MiB (1%) 1590822
["collect", "assoc", "basesize=1024"] 250.530 ms (5%) 1.84 MiB (1%) 1812
["collect", "assoc", "basesize=32"] 257.049 ms (5%) 5.64 MiB (1%) 54016
["collect", "seq"] 497.904 ms (5%) 512.95 KiB (1%) 20
["collect", "unordered", "basesize=1"] 493.795 ms (5%) 29.15 MiB (1%) 402477
["collect", "unordered", "basesize=1024"] 344.131 ms (5%) 845.63 KiB (1%) 7212
["collect", "unordered", "basesize=32"] 281.873 ms (5%) 1.47 MiB (1%) 16831
["findfirst", "n=1000", "foldl"] 786.576 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 400.293 ms (5%) 564.05 KiB (1%) 10230
["findfirst", "n=1000", "reduce", "basesize=256"] 395.914 ms (5%) 287.09 KiB (1%) 5216
["findfirst", "n=1000", "reduce", "basesize=512"] 404.577 ms (5%) 149.17 KiB (1%) 2716
["findfirst", "n=400", "foldl"] 587.056 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 301.854 ms (5%) 1.02 MiB (1%) 18965
["findfirst", "n=400", "reduce", "basesize=256"] 300.290 ms (5%) 526.16 KiB (1%) 9574
["findfirst", "n=400", "reduce", "basesize=512"] 301.718 ms (5%) 267.13 KiB (1%) 4873
["findfirst", "n=500", "foldl"] 101.373 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 52.214 ms (5%) 157.14 KiB (1%) 2838
["findfirst", "n=500", "reduce", "basesize=256"] 51.849 ms (5%) 84.34 KiB (1%) 1524
["findfirst", "n=500", "reduce", "basesize=512"] 55.050 ms (5%) 48.08 KiB (1%) 868
["overhead", "default"] 213.924 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=false"] 217.524 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=true"] 363.639 μs (5%) 146.41 KiB (1%) 2645
["parallel_histogram", "assoc", "basesize=16384"] 5.568 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 6.292 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 5.926 ms (5%) 1.43 MiB (1%) 243
["parallel_histogram", "comm", "basesize=16384"] 15.604 ms (5%) 1.22 MiB (1%) 156
["parallel_histogram", "comm", "basesize=4096"] 22.110 ms (5%) 1012.48 KiB (1%) 1166
["parallel_histogram", "comm", "basesize=8192"] 20.791 ms (5%) 1.25 MiB (1%) 1885
["parallel_histogram", "seq"] 10.135 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 19.960 ms (5%)
["sum", "random", "reduce", "basesize=128"] 10.494 ms (5%) 313.34 KiB (1%) 6068
["sum", "random", "reduce", "basesize=256"] 10.313 ms (5%) 155.08 KiB (1%) 3010
["sum", "random", "reduce", "basesize=512"] 10.170 ms (5%) 76.23 KiB (1%) 1483
["sum", "uniform", "foldl"] 19.331 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 10.205 ms (5%) 313.34 KiB (1%) 6068
["sum", "uniform", "reduce", "basesize=256"] 9.991 ms (5%) 155.09 KiB (1%) 3011
["sum", "uniform", "reduce", "basesize=512"] 9.844 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 19.986 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 10.524 ms (5%) 313.25 KiB (1%) 6062
["sum", "valley", "reduce", "basesize=256"] 10.331 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 10.178 ms (5%) 76.27 KiB (1%) 1485
["words", "nthreads=1"] 43.179 ms (5%) 7.436 ms 65.09 MiB (1%) 2106306
["words", "nthreads=2"] 24.186 ms (5%) 65.81 MiB (1%) 2106461
["words", "nthreads=4"] 24.786 ms (5%) 66.45 MiB (1%) 2106754

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      69595 s          0 s       2878 s      26155 s          0 s
       #2  2095 MHz      75794 s          0 s       3045 s      20144 s          0 s
       
  Memory: 6.764888763427734 GB (3471.15234375 MB free)
  Uptime: 1010.0 sec
  Load Avg:  1.81494140625  1.658203125  1.14306640625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Stepping:            4
CPU MHz:             2095.193
BogoMIPS:            4190.38
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            36608K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

Using commit:
Use `Empty` in `collector(ElType)` for thread-safety
JuliaFolds/BangBang.jl@92e0d90
@tkf
Copy link
Member Author

tkf commented May 21, 2020

PR 232f8b8 with 1.6.0-DEV.62

3-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "identity-union" => Trial(327.300 μs)
  "identity-float" => Trial(17.288 μs)
  "filter-missing" => Trial(49.022 μs)

PR 232f8b8 with 1.4.1

3-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "identity-union" => Trial(256.708 μs)
  "identity-float" => Trial(68.152 μs)
  "filter-missing" => Trial(91.982 μs)

@github-actions
Copy link
Contributor

Benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 07:15
    • Baseline: 21 May 2020 - 07:19
  • Package commits:
    • Target: 25446b
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1
    • Baseline: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["cat", "base"] 0.92 (5%) ✅ 1.00 (1%)
["cat", "xf"] 0.87 (5%) ✅ 1.00 (1%)
["collect", "filter-missing"] 1.18 (5%) ❌ 10.45 (1%) ❌
["collect", "identity-float"] 1.13 (5%) ❌ 2.22 (1%) ❌
["collect", "identity-union"] 0.92 (5%) ✅ 2.47 (1%) ❌
["filter_map_map!", "man"] 0.87 (5%) ✅ 1.00 (1%)
["filter_map_map!", "xf"] 1.10 (5%) ❌ 1.00 (1%)
["filter_map_reduce", "man"] 0.89 (5%) ✅ 1.00 (1%)
["filter_map_reduce", "xf"] 1.13 (5%) ❌ 1.00 (1%)
["findall", "base"] 1.14 (5%) ❌ 1.00 (1%)
["findall", "xf-array"] 1.26 (5%) ❌ 1.00 (1%)
["findall", "xf-iter"] 1.09 (5%) ❌ 2.52 (1%) ❌
["gemm", "fusedmul", "blas", "2"] 0.92 (5%) ✅ 1.00 (1%)
["gemm", "fusedmul", "xf", "16"] 0.86 (5%) ✅ 1.00 (1%)
["gemm", "fusedmul", "xf", "8"] 0.94 (5%) ✅ 1.00 (1%)
["gemm", "mul", "linalg", "32"] 0.90 (5%) ✅ 1.00 (1%)
["gemm", "mul", "linalg", "8"] 0.95 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "false", "256"] 0.93 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "false", "32"] 0.86 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "false", "8"] 0.85 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "256"] 0.91 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "32"] 0.92 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "8"] 0.87 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "true", "256"] 0.91 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "true", "32"] 0.87 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "false", "256"] 0.94 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "false", "8"] 1.05 (5%) ❌ 1.00 (1%)
["gemm", "mul", "xf", "ivdep", "256"] 0.93 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "true", "32"] 0.91 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "true", "8"] 0.77 (5%) ✅ 1.00 (1%)
["groupby", "sum", "sac"] 1.07 (5%) ❌ 1.00 (1%)
["groupby", "sum", "xf-with-init"] 0.94 (5%) ✅ 1.00 (1%)
["groupby", "sum", "xf-without-init"] 0.89 (5%) ✅ 1.00 (1%)
["missing_argmax", "man"] 1.15 (5%) ❌ 1.00 (1%)
["missing_dot", "equiv"] 0.95 (5%) ✅ 1.00 (1%)
["missing_dot", "man"] 0.89 (5%) ✅ 1.00 (1%)
["missing_dot", "rf"] 0.85 (5%) ✅ 1.00 (1%)
["missing_dot", "rf_nota"] 1.05 (5%) ❌ 1.00 (1%)
["missing_dot", "xf"] 0.94 (5%) ✅ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       6788 s          0 s       1356 s      54552 s          0 s
       #2  2095 MHz      50584 s          0 s       1471 s      10280 s          0 s
       
  Memory: 6.764888763427734 GB (3375.02734375 MB free)
  Uptime: 643.0 sec
  Load Avg:  1.09765625  0.994140625  0.6015625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       7738 s          0 s       1475 s      78048 s          0 s
       #2  2095 MHz      74166 s          0 s       1700 s      11047 s          0 s
       
  Memory: 6.764888763427734 GB (3384.46484375 MB free)
  Uptime: 890.0 sec
  Load Avg:  1.1640625  1.04150390625  0.720703125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 7:15
  • Package commit: 25446b
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 1.930 μs (5%)
["cat", "xf"] 1.820 μs (5%)
["collect", "filter-missing"] 122.305 μs (5%) 345.31 KiB (1%) 10015
["collect", "identity-float"] 91.003 μs (5%) 569.16 KiB (1%) 10015
["collect", "identity-union"] 340.213 μs (5%) 705.08 KiB (1%) 16664
["dot", "blas"] 1.360 μs (5%)
["dot", "man"] 1.370 μs (5%)
["dot", "rf"] 2.122 μs (5%)
["dot", "xf"] 2.100 μs (5%)
["filter_map_map!", "man"] 62.005 μs (5%)
["filter_map_map!", "xf"] 74.106 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 227.030 μs (5%)
["filter_map_reduce", "xf"] 255.934 μs (5%)
["findall", "base"] 1.053 ms (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 867.921 μs (5%) 3.06 MiB (1%) 100070
["findall", "xf-iter"] 978.734 μs (5%) 5.05 MiB (1%) 99935
["gemm", "fusedmul", "blas", "16"] 4.924 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.485 ms (5%)
["gemm", "fusedmul", "blas", "32"] 7.222 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.886 ms (5%)
["gemm", "fusedmul", "xf", "16"] 4.308 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 569.347 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 9.308 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.236 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 1.009 ms (5%)
["gemm", "mul", "linalg", "32"] 3.325 μs (5%)
["gemm", "mul", "linalg", "8"] 284.837 ns (5%)
["gemm", "mul", "man", "false", "256"] 1.727 ms (5%)
["gemm", "mul", "man", "false", "32"] 4.467 μs (5%)
["gemm", "mul", "man", "false", "8"] 422.653 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 1.574 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 4.215 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 436.639 ns (5%)
["gemm", "mul", "man", "true", "256"] 1.642 ms (5%)
["gemm", "mul", "man", "true", "32"] 4.429 μs (5%)
["gemm", "mul", "man", "true", "8"] 386.909 ns (5%)
["gemm", "mul", "xf", "false", "256"] 1.691 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 5.151 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 420.438 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 1.678 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 4.086 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 399.540 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 1.724 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 5.201 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 386.472 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 264.120 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 190.314 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 182.514 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 2.978 μs (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.845 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.811 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 1.580 μs (5%) 16 bytes (1%) 1
["missing_dot", "man"] 1.340 μs (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 5.267 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 1.340 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 1.610 μs (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 210.325 μs (5%) 72.11 KiB (1%) 3739
["missing_dot", "xf_nota"] 218.528 μs (5%) 72.27 KiB (1%) 3745
["partition_by", "man"] 2.202 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 3.359 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       6788 s          0 s       1356 s      54552 s          0 s
       #2  2095 MHz      50584 s          0 s       1471 s      10280 s          0 s
       
  Memory: 6.764888763427734 GB (3375.02734375 MB free)
  Uptime: 643.0 sec
  Load Avg:  1.09765625  0.994140625  0.6015625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 7:19
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 2.090 μs (5%)
["cat", "xf"] 2.100 μs (5%)
["collect", "filter-missing"] 103.606 μs (5%) 33.03 KiB (1%) 19
["collect", "identity-float"] 80.805 μs (5%) 256.89 KiB (1%) 19
["collect", "identity-union"] 371.423 μs (5%) 285.84 KiB (1%) 6670
["dot", "blas"] 1.420 μs (5%)
["dot", "man"] 1.380 μs (5%)
["dot", "rf"] 2.178 μs (5%)
["dot", "xf"] 2.145 μs (5%)
["filter_map_map!", "man"] 71.304 μs (5%)
["filter_map_map!", "xf"] 67.303 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 255.815 μs (5%)
["filter_map_reduce", "xf"] 227.113 μs (5%)
["findall", "base"] 923.356 μs (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 689.341 μs (5%) 3.05 MiB (1%) 100014
["findall", "xf-iter"] 895.454 μs (5%) 2.00 MiB (1%) 28
["gemm", "fusedmul", "blas", "16"] 5.126 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.781 ms (5%)
["gemm", "fusedmul", "blas", "32"] 7.150 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.986 ms (5%)
["gemm", "fusedmul", "xf", "16"] 5.020 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 595.331 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 8.932 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.386 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 1.005 ms (5%)
["gemm", "mul", "linalg", "32"] 3.700 μs (5%)
["gemm", "mul", "linalg", "8"] 300.000 ns (5%)
["gemm", "mul", "man", "false", "256"] 1.861 ms (5%)
["gemm", "mul", "man", "false", "32"] 5.200 μs (5%)
["gemm", "mul", "man", "false", "8"] 500.000 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 1.723 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 4.600 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 500.000 ns (5%)
["gemm", "mul", "man", "true", "256"] 1.798 ms (5%)
["gemm", "mul", "man", "true", "32"] 5.101 μs (5%)
["gemm", "mul", "man", "true", "8"] 400.000 ns (5%)
["gemm", "mul", "xf", "false", "256"] 1.799 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 5.200 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 400.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 1.805 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 4.100 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 400.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 1.806 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 5.700 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 500.000 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 247.312 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 202.311 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 204.711 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 2.600 μs (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.811 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.778 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 1.670 μs (5%) 16 bytes (1%) 1
["missing_dot", "man"] 1.510 μs (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 5.267 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 1.570 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 1.530 μs (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 223.613 μs (5%) 72.11 KiB (1%) 3740
["missing_dot", "xf_nota"] 223.913 μs (5%) 72.28 KiB (1%) 3749
["partition_by", "man"] 2.220 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 3.516 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       7738 s          0 s       1475 s      78048 s          0 s
       #2  2095 MHz      74166 s          0 s       1700 s      11047 s          0 s
       
  Memory: 6.764888763427734 GB (3384.46484375 MB free)
  Uptime: 890.0 sec
  Load Avg:  1.1640625  1.04150390625  0.720703125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Stepping:            4
CPU MHz:             2095.245
BogoMIPS:            4190.49
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            36608K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@github-actions
Copy link
Contributor

Multi-thread benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 07:16
    • Baseline: 21 May 2020 - 07:20
  • Package commits:
    • Target: 25446b
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: JULIA_NUM_THREADS => 2
    • Baseline: JULIA_NUM_THREADS => 2

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["collect", "seq"] 1.00 (5%) 3.00 (1%) ❌
["collect", "unordered", "basesize=1024"] 1.09 (5%) ❌ 1.11 (1%) ❌
["findfirst", "n=1000", "foldl"] 0.89 (5%) ✅ 1.00 (1%)
["findfirst", "n=1000", "reduce", "basesize=128"] 0.89 (5%) ✅ 1.00 (1%)
["findfirst", "n=1000", "reduce", "basesize=256"] 0.89 (5%) ✅ 1.00 (1%)
["findfirst", "n=1000", "reduce", "basesize=512"] 0.90 (5%) ✅ 1.00 (1%)
["findfirst", "n=400", "reduce", "basesize=256"] 0.94 (5%) ✅ 1.00 (1%)
["findfirst", "n=500", "foldl"] 0.88 (5%) ✅ 1.00 (1%)
["parallel_histogram", "comm", "basesize=4096"] 1.05 (5%) 1.02 (1%) ❌
["sum", "valley", "foldl"] 1.05 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      48604 s          0 s       2126 s      14594 s          0 s
       #2  2095 MHz      45706 s          0 s       2306 s      16994 s          0 s
       
  Memory: 6.764888763427734 GB (3526.94921875 MB free)
  Uptime: 671.0 sec
  Load Avg:  1.71728515625  1.513671875  0.876953125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      67033 s          0 s       2630 s      23898 s          0 s
       #2  2095 MHz      71287 s          0 s       2859 s      19187 s          0 s
       
  Memory: 6.764888763427734 GB (3565.05859375 MB free)
  Uptime: 956.0 sec
  Load Avg:  1.853515625  1.6455078125  1.1015625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 7:16
  • Package commit: 25446b
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 332.435 ms (5%) 10.830 ms 87.55 MiB (1%) 1590734
["collect", "assoc", "basesize=1024"] 200.678 ms (5%) 1.84 MiB (1%) 1813
["collect", "assoc", "basesize=32"] 202.232 ms (5%) 5.64 MiB (1%) 54014
["collect", "seq"] 394.567 ms (5%) 1.50 MiB (1%) 32784
["collect", "unordered", "basesize=1"] 412.590 ms (5%) 7.414 ms 29.14 MiB (1%) 401868
["collect", "unordered", "basesize=1024"] 340.893 ms (5%) 985.83 KiB (1%) 16185
["collect", "unordered", "basesize=32"] 226.278 ms (5%) 1.46 MiB (1%) 16323
["findfirst", "n=1000", "foldl"] 627.755 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 318.053 ms (5%) 563.33 KiB (1%) 10184
["findfirst", "n=1000", "reduce", "basesize=256"] 316.062 ms (5%) 286.78 KiB (1%) 5196
["findfirst", "n=1000", "reduce", "basesize=512"] 324.599 ms (5%) 149.09 KiB (1%) 2711
["findfirst", "n=400", "foldl"] 467.029 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 242.785 ms (5%) 1.02 MiB (1%) 18879
["findfirst", "n=400", "reduce", "basesize=256"] 234.898 ms (5%) 525.44 KiB (1%) 9528
["findfirst", "n=400", "reduce", "basesize=512"] 235.053 ms (5%) 266.83 KiB (1%) 4854
["findfirst", "n=500", "foldl"] 79.821 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 40.267 ms (5%) 157.03 KiB (1%) 2831
["findfirst", "n=500", "reduce", "basesize=256"] 39.876 ms (5%) 84.25 KiB (1%) 1518
["findfirst", "n=500", "reduce", "basesize=512"] 43.392 ms (5%) 48.08 KiB (1%) 868
["overhead", "default"] 151.006 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=false"] 152.606 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=true"] 252.010 μs (5%) 146.41 KiB (1%) 2645
["parallel_histogram", "assoc", "basesize=16384"] 3.687 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 4.381 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 4.095 ms (5%) 1.43 MiB (1%) 242
["parallel_histogram", "comm", "basesize=16384"] 14.614 ms (5%) 1.22 MiB (1%) 224
["parallel_histogram", "comm", "basesize=4096"] 24.000 ms (5%) 1.09 MiB (1%) 6367
["parallel_histogram", "comm", "basesize=8192"] 18.425 ms (5%) 1.25 MiB (1%) 2041
["parallel_histogram", "seq"] 7.076 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 14.434 ms (5%)
["sum", "random", "reduce", "basesize=128"] 7.513 ms (5%) 313.33 KiB (1%) 6067
["sum", "random", "reduce", "basesize=256"] 7.124 ms (5%) 155.08 KiB (1%) 3010
["sum", "random", "reduce", "basesize=512"] 7.285 ms (5%) 76.23 KiB (1%) 1483
["sum", "uniform", "foldl"] 14.078 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 7.465 ms (5%) 313.38 KiB (1%) 6070
["sum", "uniform", "reduce", "basesize=256"] 7.314 ms (5%) 155.08 KiB (1%) 3010
["sum", "uniform", "reduce", "basesize=512"] 6.922 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 15.238 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 7.656 ms (5%) 313.23 KiB (1%) 6061
["sum", "valley", "reduce", "basesize=256"] 7.283 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 7.208 ms (5%) 76.27 KiB (1%) 1485
["words", "nthreads=1"] 32.969 ms (5%) 6.291 ms 64.94 MiB (1%) 2101690
["words", "nthreads=2"] 19.727 ms (5%) 65.65 MiB (1%) 2101845
["words", "nthreads=4"] 21.780 ms (5%) 66.29 MiB (1%) 2102136

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      48604 s          0 s       2126 s      14594 s          0 s
       #2  2095 MHz      45706 s          0 s       2306 s      16994 s          0 s
       
  Memory: 6.764888763427734 GB (3526.94921875 MB free)
  Uptime: 671.0 sec
  Load Avg:  1.71728515625  1.513671875  0.876953125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 7:20
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 330.153 ms (5%) 9.415 ms 87.55 MiB (1%) 1590789
["collect", "assoc", "basesize=1024"] 199.332 ms (5%) 1.84 MiB (1%) 1808
["collect", "assoc", "basesize=32"] 199.929 ms (5%) 5.64 MiB (1%) 54020
["collect", "seq"] 393.916 ms (5%) 512.95 KiB (1%) 20
["collect", "unordered", "basesize=1"] 414.115 ms (5%) 29.13 MiB (1%) 401634
["collect", "unordered", "basesize=1024"] 311.603 ms (5%) 890.33 KiB (1%) 10073
["collect", "unordered", "basesize=32"] 221.196 ms (5%) 1.45 MiB (1%) 15679
["findfirst", "n=1000", "foldl"] 707.950 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 358.766 ms (5%) 564.00 KiB (1%) 10227
["findfirst", "n=1000", "reduce", "basesize=256"] 356.741 ms (5%) 287.02 KiB (1%) 5211
["findfirst", "n=1000", "reduce", "basesize=512"] 361.425 ms (5%) 149.13 KiB (1%) 2713
["findfirst", "n=400", "foldl"] 469.526 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 238.716 ms (5%) 1.02 MiB (1%) 18891
["findfirst", "n=400", "reduce", "basesize=256"] 248.911 ms (5%) 525.61 KiB (1%) 9539
["findfirst", "n=400", "reduce", "basesize=512"] 243.502 ms (5%) 266.80 KiB (1%) 4852
["findfirst", "n=500", "foldl"] 90.611 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 40.020 ms (5%) 157.03 KiB (1%) 2831
["findfirst", "n=500", "reduce", "basesize=256"] 39.236 ms (5%) 84.25 KiB (1%) 1518
["findfirst", "n=500", "reduce", "basesize=512"] 42.277 ms (5%) 48.08 KiB (1%) 868
["overhead", "default"] 155.104 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=false"] 156.304 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=true"] 249.206 μs (5%) 146.42 KiB (1%) 2646
["parallel_histogram", "assoc", "basesize=16384"] 3.736 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 4.404 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 4.122 ms (5%) 1.43 MiB (1%) 243
["parallel_histogram", "comm", "basesize=16384"] 14.404 ms (5%) 1.22 MiB (1%) 156
["parallel_histogram", "comm", "basesize=4096"] 22.889 ms (5%) 1.06 MiB (1%) 1628
["parallel_histogram", "comm", "basesize=8192"] 18.446 ms (5%) 1.26 MiB (1%) 2457
["parallel_histogram", "seq"] 7.078 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 14.724 ms (5%)
["sum", "random", "reduce", "basesize=128"] 7.446 ms (5%) 313.33 KiB (1%) 6067
["sum", "random", "reduce", "basesize=256"] 7.265 ms (5%) 155.08 KiB (1%) 3010
["sum", "random", "reduce", "basesize=512"] 7.076 ms (5%) 76.27 KiB (1%) 1485
["sum", "uniform", "foldl"] 14.312 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 7.331 ms (5%) 313.34 KiB (1%) 6068
["sum", "uniform", "reduce", "basesize=256"] 7.227 ms (5%) 155.08 KiB (1%) 3010
["sum", "uniform", "reduce", "basesize=512"] 6.935 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 14.484 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 7.753 ms (5%) 313.28 KiB (1%) 6064
["sum", "valley", "reduce", "basesize=256"] 7.459 ms (5%) 155.08 KiB (1%) 3010
["sum", "valley", "reduce", "basesize=512"] 7.192 ms (5%) 76.28 KiB (1%) 1486
["words", "nthreads=1"] 33.207 ms (5%) 6.173 ms 65.13 MiB (1%) 2107006
["words", "nthreads=2"] 20.577 ms (5%) 65.84 MiB (1%) 2107161
["words", "nthreads=4"] 21.712 ms (5%) 66.48 MiB (1%) 2107453

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      67033 s          0 s       2630 s      23898 s          0 s
       #2  2095 MHz      71287 s          0 s       2859 s      19187 s          0 s
       
  Memory: 6.764888763427734 GB (3565.05859375 MB free)
  Uptime: 956.0 sec
  Load Avg:  1.853515625  1.6455078125  1.1015625
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Stepping:            4
CPU MHz:             2095.143
BogoMIPS:            4190.28
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            36608K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@github-actions
Copy link
Contributor

Benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 07:57
    • Baseline: 21 May 2020 - 08:01
  • Package commits:
    • Target: 61c3a8
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1
    • Baseline: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["cat", "base"] 0.87 (5%) ✅ 1.00 (1%)
["cat", "xf"] 1.15 (5%) ❌ 1.00 (1%)
["collect", "filter-missing"] 1.29 (5%) ❌ 10.45 (1%) ❌
["collect", "identity-float"] 1.07 (5%) ❌ 2.22 (1%) ❌
["collect", "identity-union"] 0.91 (5%) ✅ 2.47 (1%) ❌
["filter_map_map!", "man"] 1.05 (5%) ❌ 1.00 (1%)
["filter_map_map!", "xf"] 0.80 (5%) ✅ 1.00 (1%)
["findall", "base"] 1.16 (5%) ❌ 1.00 (1%)
["findall", "xf-array"] 1.15 (5%) ❌ 1.00 (1%)
["findall", "xf-iter"] 1.05 (5%) 2.52 (1%) ❌
["gemm", "fusedmul", "xf", "16"] 0.94 (5%) ✅ 1.00 (1%)
["gemm", "fusedmul", "xf", "32"] 1.11 (5%) ❌ 1.00 (1%)
["gemm", "fusedmul", "xf", "8"] 0.93 (5%) ✅ 1.00 (1%)
["gemm", "mul", "linalg", "256"] 1.15 (5%) ❌ 1.00 (1%)
["gemm", "mul", "linalg", "32"] 0.86 (5%) ✅ 1.00 (1%)
["gemm", "mul", "linalg", "8"] 1.18 (5%) ❌ 1.00 (1%)
["gemm", "mul", "man", "false", "32"] 0.93 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "false", "8"] 0.92 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "ivdep", "8"] 0.87 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "true", "32"] 0.91 (5%) ✅ 1.00 (1%)
["gemm", "mul", "man", "true", "8"] 0.77 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "false", "32"] 0.93 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "false", "8"] 0.91 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "ivdep", "256"] 0.95 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "ivdep", "32"] 0.86 (5%) ✅ 1.00 (1%)
["gemm", "mul", "xf", "ivdep", "8"] 0.70 (5%) ✅ 1.00 (1%)
["missing_dot", "naive"] 0.87 (5%) ✅ 1.00 (1%)
["missing_dot", "rf"] 1.10 (5%) ❌ 1.00 (1%)
["missing_dot", "rf_nota"] 0.90 (5%) ✅ 1.00 (1%)
["missing_dot", "xf_nota"] 1.07 (5%) ❌ 0.99 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      14008 s          0 s       1150 s      45546 s          0 s
       #2  2095 MHz      42196 s          0 s       1576 s      17013 s          0 s
       
  Memory: 6.764888763427734 GB (3402.87109375 MB free)
  Uptime: 622.0 sec
  Load Avg:  1.0888671875  0.9951171875  0.59033203125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      20610 s          0 s       1342 s      62939 s          0 s
       #2  2095 MHz      59670 s          0 s       1768 s      23544 s          0 s
       
  Memory: 6.764888763427734 GB (3368.98046875 MB free)
  Uptime: 865.0 sec
  Load Avg:  1.02197265625  1.00927734375  0.69873046875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 7:57
  • Package commit: 61c3a8
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 1.680 μs (5%)
["cat", "xf"] 1.810 μs (5%)
["collect", "filter-missing"] 106.400 μs (5%) 345.31 KiB (1%) 10015
["collect", "identity-float"] 73.400 μs (5%) 569.16 KiB (1%) 10015
["collect", "identity-union"] 302.001 μs (5%) 705.20 KiB (1%) 16670
["dot", "blas"] 1.280 μs (5%)
["dot", "man"] 1.330 μs (5%)
["dot", "rf"] 2.133 μs (5%)
["dot", "xf"] 2.133 μs (5%)
["filter_map_map!", "man"] 63.501 μs (5%)
["filter_map_map!", "xf"] 55.600 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 222.901 μs (5%)
["filter_map_reduce", "xf"] 223.301 μs (5%)
["findall", "base"] 816.802 μs (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 781.402 μs (5%) 3.05 MiB (1%) 99991
["findall", "xf-iter"] 854.502 μs (5%) 5.05 MiB (1%) 99923
["gemm", "fusedmul", "blas", "16"] 4.775 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.372 ms (5%)
["gemm", "fusedmul", "blas", "32"] 6.490 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.799 ms (5%)
["gemm", "fusedmul", "xf", "16"] 4.318 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 561.204 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 10.725 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.237 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 884.209 μs (5%)
["gemm", "mul", "linalg", "32"] 2.911 μs (5%)
["gemm", "mul", "linalg", "8"] 235.667 ns (5%)
["gemm", "mul", "man", "false", "256"] 1.602 ms (5%)
["gemm", "mul", "man", "false", "32"] 4.471 μs (5%)
["gemm", "mul", "man", "false", "8"] 369.347 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 1.642 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 4.200 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 436.269 ns (5%)
["gemm", "mul", "man", "true", "256"] 1.641 ms (5%)
["gemm", "mul", "man", "true", "32"] 4.457 μs (5%)
["gemm", "mul", "man", "true", "8"] 386.369 ns (5%)
["gemm", "mul", "xf", "false", "256"] 1.615 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 4.467 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 364.878 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 1.609 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 3.538 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 348.761 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 1.607 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 4.557 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 419.598 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 247.001 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 188.501 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 183.601 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 2.600 μs (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.489 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.800 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 1.450 μs (5%) 16 bytes (1%) 1
["missing_dot", "man"] 1.340 μs (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 4.000 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 1.510 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 1.410 μs (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 200.602 μs (5%) 71.97 KiB (1%) 3736
["missing_dot", "xf_nota"] 208.803 μs (5%) 71.83 KiB (1%) 3728
["partition_by", "man"] 1.934 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 3.285 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      14008 s          0 s       1150 s      45546 s          0 s
       #2  2095 MHz      42196 s          0 s       1576 s      17013 s          0 s
       
  Memory: 6.764888763427734 GB (3402.87109375 MB free)
  Uptime: 622.0 sec
  Load Avg:  1.0888671875  0.9951171875  0.59033203125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 8:1
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: OMP_NUM_THREADS => 1 JULIA_NUM_THREADS => 1

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["cat", "base"] 1.930 μs (5%)
["cat", "xf"] 1.580 μs (5%)
["collect", "filter-missing"] 82.600 μs (5%) 33.03 KiB (1%) 19
["collect", "identity-float"] 68.500 μs (5%) 256.89 KiB (1%) 19
["collect", "identity-union"] 332.701 μs (5%) 285.64 KiB (1%) 6671
["dot", "blas"] 1.330 μs (5%)
["dot", "man"] 1.360 μs (5%)
["dot", "rf"] 2.133 μs (5%)
["dot", "xf"] 2.089 μs (5%)
["filter_map_map!", "man"] 60.400 μs (5%)
["filter_map_map!", "xf"] 69.200 μs (5%) 144 bytes (1%) 8
["filter_map_reduce", "man"] 223.001 μs (5%)
["filter_map_reduce", "xf"] 222.701 μs (5%)
["findall", "base"] 704.304 μs (5%) 2.00 MiB (1%) 21
["findall", "xf-array"] 680.304 μs (5%) 3.05 MiB (1%) 100014
["findall", "xf-iter"] 817.504 μs (5%) 2.00 MiB (1%) 28
["gemm", "fusedmul", "blas", "16"] 4.668 ms (5%)
["gemm", "fusedmul", "blas", "2"] 3.364 ms (5%)
["gemm", "fusedmul", "blas", "32"] 6.378 ms (5%)
["gemm", "fusedmul", "blas", "8"] 3.706 ms (5%)
["gemm", "fusedmul", "xf", "16"] 4.596 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "2"] 582.202 μs (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "32"] 9.661 ms (5%) 160 bytes (1%) 6
["gemm", "fusedmul", "xf", "8"] 2.403 ms (5%) 160 bytes (1%) 6
["gemm", "mul", "linalg", "256"] 766.803 μs (5%)
["gemm", "mul", "linalg", "32"] 3.400 μs (5%)
["gemm", "mul", "linalg", "8"] 200.000 ns (5%)
["gemm", "mul", "man", "false", "256"] 1.648 ms (5%)
["gemm", "mul", "man", "false", "32"] 4.800 μs (5%)
["gemm", "mul", "man", "false", "8"] 400.000 ns (5%)
["gemm", "mul", "man", "ivdep", "256"] 1.630 ms (5%)
["gemm", "mul", "man", "ivdep", "32"] 4.300 μs (5%)
["gemm", "mul", "man", "ivdep", "8"] 500.000 ns (5%)
["gemm", "mul", "man", "true", "256"] 1.643 ms (5%)
["gemm", "mul", "man", "true", "32"] 4.900 μs (5%)
["gemm", "mul", "man", "true", "8"] 500.000 ns (5%)
["gemm", "mul", "xf", "false", "256"] 1.648 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "32"] 4.800 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "false", "8"] 400.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "256"] 1.702 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "32"] 4.100 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "ivdep", "8"] 500.000 ns (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "256"] 1.656 ms (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "32"] 4.400 μs (5%) 48 bytes (1%) 2
["gemm", "mul", "xf", "true", "8"] 400.000 ns (5%) 48 bytes (1%) 2
["groupby", "sum", "sac"] 245.501 μs (5%) 313.14 KiB (1%) 10007
["groupby", "sum", "xf-with-init"] 185.500 μs (5%) 157.44 KiB (1%) 10008
["groupby", "sum", "xf-without-init"] 181.201 μs (5%) 157.44 KiB (1%) 10008
["missing_argmax", "man"] 2.600 μs (5%) 32 bytes (1%) 1
["missing_argmax", "rf"] 2.444 μs (5%) 32 bytes (1%) 1
["missing_argmax", "xf"] 2.789 μs (5%) 32 bytes (1%) 1
["missing_dot", "equiv"] 1.510 μs (5%) 16 bytes (1%) 1
["missing_dot", "man"] 1.320 μs (5%) 16 bytes (1%) 1
["missing_dot", "naive"] 4.600 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf"] 1.370 μs (5%) 16 bytes (1%) 1
["missing_dot", "rf_nota"] 1.560 μs (5%) 16 bytes (1%) 1
["missing_dot", "xf"] 203.801 μs (5%) 71.98 KiB (1%) 3734
["missing_dot", "xf_nota"] 195.501 μs (5%) 72.28 KiB (1%) 3748
["partition_by", "man"] 1.936 ms (5%) 352 bytes (1%) 4
["partition_by", "xf"] 3.272 ms (5%) 6.10 MiB (1%) 200007

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["cat"]
  • ["collect"]
  • ["dot"]
  • ["filter_map_map!"]
  • ["filter_map_reduce"]
  • ["findall"]
  • ["gemm", "fusedmul", "blas"]
  • ["gemm", "fusedmul", "xf"]
  • ["gemm", "mul", "linalg"]
  • ["gemm", "mul", "man", "false"]
  • ["gemm", "mul", "man", "ivdep"]
  • ["gemm", "mul", "man", "true"]
  • ["gemm", "mul", "xf", "false"]
  • ["gemm", "mul", "xf", "ivdep"]
  • ["gemm", "mul", "xf", "true"]
  • ["groupby", "sum"]
  • ["missing_argmax"]
  • ["missing_dot"]
  • ["partition_by"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz      20610 s          0 s       1342 s      62939 s          0 s
       #2  2095 MHz      59670 s          0 s       1768 s      23544 s          0 s
       
  Memory: 6.764888763427734 GB (3368.98046875 MB free)
  Uptime: 865.0 sec
  Load Avg:  1.02197265625  1.00927734375  0.69873046875
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Stepping:            4
CPU MHz:             2095.078
BogoMIPS:            4190.15
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            36608K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x04, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@github-actions
Copy link
Contributor

Multi-thread benchmark result

Judge result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmarks:
    • Target: 21 May 2020 - 07:59
    • Baseline: 21 May 2020 - 08:04
  • Package commits:
    • Target: 61c3a8
    • Baseline: 4b25dc
  • Julia commits:
    • Target: 381693
    • Baseline: 381693
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: JULIA_NUM_THREADS => 2
    • Baseline: JULIA_NUM_THREADS => 2

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less
than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).

ID time ratio memory ratio
["collect", "assoc", "basesize=1"] 1.06 (5%) ❌ 1.00 (1%)
["collect", "seq"] 0.94 (5%) ✅ 3.00 (1%) ❌
["collect", "unordered", "basesize=1024"] 0.74 (5%) ✅ 0.87 (1%) ✅
["findfirst", "n=500", "reduce", "basesize=128"] 0.92 (5%) ✅ 1.00 (1%)
["findfirst", "n=500", "reduce", "basesize=256"] 0.93 (5%) ✅ 1.00 (1%)
["overhead", "default"] 0.91 (5%) ✅ 1.00 (1%)
["overhead", "stoppable=true"] 0.93 (5%) ✅ 1.00 (1%)
["parallel_histogram", "assoc", "basesize=4096"] 0.95 (5%) ✅ 1.00 (1%)
["parallel_histogram", "comm", "basesize=4096"] 0.79 (5%) ✅ 0.98 (1%) ✅
["parallel_histogram", "comm", "basesize=8192"] 1.12 (5%) ❌ 1.00 (1%)
["sum", "random", "reduce", "basesize=512"] 0.89 (5%) ✅ 1.00 (1%)
["sum", "uniform", "foldl"] 1.07 (5%) ❌ 1.00 (1%)
["sum", "uniform", "reduce", "basesize=256"] 0.94 (5%) ✅ 1.00 (1%)
["sum", "valley", "foldl"] 0.91 (5%) ✅ 1.00 (1%)
["sum", "valley", "reduce", "basesize=128"] 0.93 (5%) ✅ 1.00 (1%)
["sum", "valley", "reduce", "basesize=256"] 0.94 (5%) ✅ 1.00 (1%)
["words", "nthreads=1"] 1.05 (5%) ❌ 1.00 (1%)
["words", "nthreads=2"] 1.11 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Target

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      51914 s          0 s       2389 s      15500 s          0 s
       #2  2294 MHz      48484 s          0 s       2519 s      18991 s          0 s
       
  Memory: 6.764888763427734 GB (3507.9296875 MB free)
  Uptime: 718.0 sec
  Load Avg:  1.673828125  1.5947265625  0.99267578125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Baseline

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      75162 s          0 s       3113 s      22224 s          0 s
       #2  2294 MHz      71852 s          0 s       3097 s      25721 s          0 s
       
  Memory: 6.764888763427734 GB (3470.40234375 MB free)
  Uptime: 1027.0 sec
  Load Avg:  1.7109375  1.6181640625  1.16943359375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Target result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 7:59
  • Package commit: 61c3a8
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 340.988 ms (5%) 13.183 ms 87.55 MiB (1%) 1590701
["collect", "assoc", "basesize=1024"] 182.213 ms (5%) 1.84 MiB (1%) 1813
["collect", "assoc", "basesize=32"] 185.633 ms (5%) 5.64 MiB (1%) 54015
["collect", "seq"] 362.283 ms (5%) 1.50 MiB (1%) 32784
["collect", "unordered", "basesize=1"] 469.198 ms (5%) 29.19 MiB (1%) 405199
["collect", "unordered", "basesize=1024"] 222.751 ms (5%) 797.33 KiB (1%) 4121
["collect", "unordered", "basesize=32"] 213.386 ms (5%) 1.50 MiB (1%) 18618
["findfirst", "n=1000", "foldl"] 566.553 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 300.576 ms (5%) 564.00 KiB (1%) 10227
["findfirst", "n=1000", "reduce", "basesize=256"] 296.486 ms (5%) 287.03 KiB (1%) 5212
["findfirst", "n=1000", "reduce", "basesize=512"] 302.151 ms (5%) 149.16 KiB (1%) 2715
["findfirst", "n=400", "foldl"] 422.283 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 222.330 ms (5%) 1.02 MiB (1%) 18966
["findfirst", "n=400", "reduce", "basesize=256"] 225.867 ms (5%) 526.09 KiB (1%) 9570
["findfirst", "n=400", "reduce", "basesize=512"] 227.177 ms (5%) 267.05 KiB (1%) 4868
["findfirst", "n=500", "foldl"] 72.687 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 34.323 ms (5%) 157.20 KiB (1%) 2842
["findfirst", "n=500", "reduce", "basesize=256"] 35.039 ms (5%) 84.31 KiB (1%) 1522
["findfirst", "n=500", "reduce", "basesize=512"] 38.934 ms (5%) 48.11 KiB (1%) 870
["overhead", "default"] 173.901 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=false"] 184.501 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=true"] 318.201 μs (5%) 146.41 KiB (1%) 2645
["parallel_histogram", "assoc", "basesize=16384"] 3.751 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 4.542 ms (5%) 1.80 MiB (1%) 496
["parallel_histogram", "assoc", "basesize=8192"] 4.262 ms (5%) 1.43 MiB (1%) 242
["parallel_histogram", "comm", "basesize=16384"] 13.819 ms (5%) 1.22 MiB (1%) 324
["parallel_histogram", "comm", "basesize=4096"] 17.167 ms (5%) 1.03 MiB (1%) 1089
["parallel_histogram", "comm", "basesize=8192"] 18.919 ms (5%) 1.23 MiB (1%) 989
["parallel_histogram", "seq"] 6.920 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 13.113 ms (5%)
["sum", "random", "reduce", "basesize=128"] 7.079 ms (5%) 313.34 KiB (1%) 6068
["sum", "random", "reduce", "basesize=256"] 6.761 ms (5%) 155.08 KiB (1%) 3010
["sum", "random", "reduce", "basesize=512"] 6.203 ms (5%) 76.27 KiB (1%) 1485
["sum", "uniform", "foldl"] 12.700 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 7.001 ms (5%) 313.36 KiB (1%) 6069
["sum", "uniform", "reduce", "basesize=256"] 6.289 ms (5%) 155.08 KiB (1%) 3010
["sum", "uniform", "reduce", "basesize=512"] 6.199 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 12.572 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 6.782 ms (5%) 313.22 KiB (1%) 6060
["sum", "valley", "reduce", "basesize=256"] 6.833 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 7.105 ms (5%) 76.25 KiB (1%) 1484
["words", "nthreads=1"] 43.840 ms (5%) 8.360 ms 64.96 MiB (1%) 2101866
["words", "nthreads=2"] 24.497 ms (5%) 65.68 MiB (1%) 2102020
["words", "nthreads=4"] 23.209 ms (5%) 66.13 MiB (1%) 2102169

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      51914 s          0 s       2389 s      15500 s          0 s
       #2  2294 MHz      48484 s          0 s       2519 s      18991 s          0 s
       
  Memory: 6.764888763427734 GB (3507.9296875 MB free)
  Uptime: 718.0 sec
  Load Avg:  1.673828125  1.5947265625  0.99267578125
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Baseline result

Benchmark Report for /home/runner/work/Transducers.jl/Transducers.jl

Job Properties

  • Time of benchmark: 21 May 2020 - 8:4
  • Package commit: 4b25dc
  • Julia commit: 381693
  • Julia command flags: None
  • Environment variables: JULIA_NUM_THREADS => 2

Results

Below is a table of this job's results, obtained by running the benchmarks.
The values listed in the ID column have the structure [parent_group, child_group, ..., key], and can be used to
index into the BaseBenchmarks suite to retrieve the corresponding benchmarks.
The percentages accompanying time and memory values in the below table are noise tolerances. The "true"
time/memory value for a given benchmark is expected to fall within this percentage of the reported value.
An empty cell means that the value was zero.

ID time GC time memory allocations
["collect", "assoc", "basesize=1"] 321.933 ms (5%) 12.109 ms 87.55 MiB (1%) 1590699
["collect", "assoc", "basesize=1024"] 186.396 ms (5%) 1.84 MiB (1%) 1813
["collect", "assoc", "basesize=32"] 184.970 ms (5%) 5.64 MiB (1%) 54013
["collect", "seq"] 384.481 ms (5%) 512.95 KiB (1%) 20
["collect", "unordered", "basesize=1"] 474.719 ms (5%) 29.18 MiB (1%) 404534
["collect", "unordered", "basesize=1024"] 301.440 ms (5%) 916.52 KiB (1%) 11749
["collect", "unordered", "basesize=32"] 211.698 ms (5%) 1.50 MiB (1%) 18586
["findfirst", "n=1000", "foldl"] 587.484 ms (5%)
["findfirst", "n=1000", "reduce", "basesize=128"] 298.905 ms (5%) 563.97 KiB (1%) 10225
["findfirst", "n=1000", "reduce", "basesize=256"] 303.136 ms (5%) 287.13 KiB (1%) 5218
["findfirst", "n=1000", "reduce", "basesize=512"] 297.323 ms (5%) 149.14 KiB (1%) 2714
["findfirst", "n=400", "foldl"] 433.435 ms (5%)
["findfirst", "n=400", "reduce", "basesize=128"] 226.243 ms (5%) 1.02 MiB (1%) 18955
["findfirst", "n=400", "reduce", "basesize=256"] 227.790 ms (5%) 526.02 KiB (1%) 9565
["findfirst", "n=400", "reduce", "basesize=512"] 220.191 ms (5%) 267.06 KiB (1%) 4869
["findfirst", "n=500", "foldl"] 71.977 ms (5%)
["findfirst", "n=500", "reduce", "basesize=128"] 37.337 ms (5%) 157.22 KiB (1%) 2843
["findfirst", "n=500", "reduce", "basesize=256"] 37.575 ms (5%) 84.38 KiB (1%) 1526
["findfirst", "n=500", "reduce", "basesize=512"] 39.178 ms (5%) 48.09 KiB (1%) 869
["overhead", "default"] 190.600 μs (5%) 146.16 KiB (1%) 2629
["overhead", "stoppable=false"] 184.501 μs (5%) 146.14 KiB (1%) 2628
["overhead", "stoppable=true"] 342.901 μs (5%) 146.41 KiB (1%) 2645
["parallel_histogram", "assoc", "basesize=16384"] 3.758 ms (5%) 732.06 KiB (1%) 103
["parallel_histogram", "assoc", "basesize=4096"] 4.798 ms (5%) 1.80 MiB (1%) 497
["parallel_histogram", "assoc", "basesize=8192"] 4.234 ms (5%) 1.43 MiB (1%) 242
["parallel_histogram", "comm", "basesize=16384"] 13.489 ms (5%) 1.22 MiB (1%) 155
["parallel_histogram", "comm", "basesize=4096"] 21.824 ms (5%) 1.05 MiB (1%) 5157
["parallel_histogram", "comm", "basesize=8192"] 16.937 ms (5%) 1.23 MiB (1%) 924
["parallel_histogram", "seq"] 6.940 ms (5%) 364.63 KiB (1%) 25
["sum", "random", "foldl"] 13.767 ms (5%)
["sum", "random", "reduce", "basesize=128"] 7.105 ms (5%) 313.27 KiB (1%) 6063
["sum", "random", "reduce", "basesize=256"] 6.570 ms (5%) 155.08 KiB (1%) 3010
["sum", "random", "reduce", "basesize=512"] 6.935 ms (5%) 76.23 KiB (1%) 1483
["sum", "uniform", "foldl"] 11.817 ms (5%)
["sum", "uniform", "reduce", "basesize=128"] 7.118 ms (5%) 313.30 KiB (1%) 6065
["sum", "uniform", "reduce", "basesize=256"] 6.716 ms (5%) 155.09 KiB (1%) 3011
["sum", "uniform", "reduce", "basesize=512"] 6.360 ms (5%) 76.25 KiB (1%) 1484
["sum", "valley", "foldl"] 13.757 ms (5%)
["sum", "valley", "reduce", "basesize=128"] 7.329 ms (5%) 313.27 KiB (1%) 6063
["sum", "valley", "reduce", "basesize=256"] 7.247 ms (5%) 155.09 KiB (1%) 3011
["sum", "valley", "reduce", "basesize=512"] 7.103 ms (5%) 76.28 KiB (1%) 1486
["words", "nthreads=1"] 41.730 ms (5%) 7.654 ms 65.09 MiB (1%) 2106165
["words", "nthreads=2"] 22.120 ms (5%) 65.45 MiB (1%) 2106242
["words", "nthreads=4"] 22.106 ms (5%) 66.35 MiB (1%) 2106541

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • ["collect", "assoc"]
  • ["collect"]
  • ["collect", "unordered"]
  • ["findfirst", "n=1000"]
  • ["findfirst", "n=1000", "reduce"]
  • ["findfirst", "n=400"]
  • ["findfirst", "n=400", "reduce"]
  • ["findfirst", "n=500"]
  • ["findfirst", "n=500", "reduce"]
  • ["overhead"]
  • ["parallel_histogram", "assoc"]
  • ["parallel_histogram", "comm"]
  • ["parallel_histogram"]
  • ["sum", "random"]
  • ["sum", "random", "reduce"]
  • ["sum", "uniform"]
  • ["sum", "uniform", "reduce"]
  • ["sum", "valley"]
  • ["sum", "valley", "reduce"]
  • ["words"]

Julia versioninfo

Julia Version 1.4.1
Commit 381693d3df* (2020-04-14 17:20 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.4 LTS
  uname: Linux 5.3.0-1020-azure #21~18.04.1-Ubuntu SMP Wed Apr 15 09:35:56 UTC 2020 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz      75162 s          0 s       3113 s      22224 s          0 s
       #2  2294 MHz      71852 s          0 s       3097 s      25721 s          0 s
       
  Memory: 6.764888763427734 GB (3470.40234375 MB free)
  Uptime: 1027.0 sec
  Load Avg:  1.7109375  1.6181640625  1.16943359375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Runtime information

Runtime Info
BLAS #threads 2
BLAS.vendor() openblas64
Sys.CPU_THREADS 2

lscpu output:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               79
Model name:          Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
Stepping:            1
CPU MHz:             2294.688
BogoMIPS:            4589.37
Hypervisor vendor:   Microsoft
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            51200K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt md_clear
Cpu Property Value
Brand Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
Vendor :Intel
Architecture :Broadwell
Model Family: 0x06, Model: 0x4f, Stepping: 0x01, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 256, 51200) kbytes
64 byte cache line size
Address Size 48 bits virtual, 44 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@mergify mergify bot merged commit 3a3d644 into master May 21, 2020
@mergify mergify bot deleted the collector branch May 21, 2020 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants