tkf / ThreadsX.jl

Parallelized Base functions
MIT License
321 stars 10 forks source link

Fix pkg-update.yml #114

Closed tkf closed 4 years ago

codecov[bot] commented 4 years ago

Codecov Report

Merging #114 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #114   +/-   ##
=======================================
  Coverage   78.88%   78.88%           
=======================================
  Files           8        8           
  Lines         412      412           
=======================================
  Hits          325      325           
  Misses         87       87           

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 7362ea8...031dee8. Read the comment docs.

github-actions[bot] commented 4 years ago
Benchmark result # Judge result # Benchmark Report for */home/runner/work/ThreadsX.jl/ThreadsX.jl* ## Job Properties * Time of benchmarks: - Target: 28 Jun 2020 - 09:02 - Baseline: 28 Jun 2020 - 09:08 * Package commits: - Target: c25bca - Baseline: 7362ea * Julia commits: - Target: 44fa15 - Baseline: 44fa15 * Julia command flags: - Target: None - Baseline: None * Environment variables: - Target: `OMP_NUM_THREADS => 1` `JULIA_NUM_THREADS => 2` - Baseline: `OMP_NUM_THREADS => 1` `JULIA_NUM_THREADS => 2` ## Results A ratio greater than `1.0` denotes a possible regression (marked with :x:), while a ratio less than `1.0` denotes a possible improvement (marked with :white_check_mark:). 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 | |--------------------------------------------------------------------|------------------------------|---------------| | `["findfirst", "0%", "base"]` | 1.14 (5%) :x: | 1.00 (1%) | | `["findfirst", "10%", "tx-noterm"]` | 0.99 (5%) | 1.18 (1%) :x: | | `["findfirst", "20%", "tx-noterm"]` | 1.09 (5%) :x: | 1.00 (1%) | | `["findfirst", "30%", "tx-noterm"]` | 1.18 (5%) :x: | 1.00 (1%) | | `["findfirst", "40%", "tx-noterm"]` | 0.91 (5%) :white_check_mark: | 1.00 (1%) | | `["foreach", "base", "A .= B .+ B'"]` | 0.94 (5%) :white_check_mark: | 1.00 (1%) | | `["foreach_seq_double", "linear", "tx", ":simd => :ivdep"]` | 1.07 (5%) :x: | 1.00 (1%) | | `["foreach_seq_double", "linear", "tx", ":simd => true"]` | 1.08 (5%) :x: | 1.00 (1%) | | `["foreach_seq_sum_many", ":nvecs => 8", "man"]` | 1.29 (5%) :x: | 1.00 (1%) | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => :ivdep"]` | 1.29 (5%) :x: | 1.00 (1%) | | `["unique", "rand(1:1000, 1000000)", "base"]` | 1.08 (5%) :x: | 1.00 (1%) | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["findfirst", "0%"]` - `["findfirst", "10%"]` - `["findfirst", "20%"]` - `["findfirst", "30%"]` - `["findfirst", "40%"]` - `["findfirst", "50%"]` - `["foreach", "base"]` - `["foreach", "broadcast"]` - `["foreach", "tx"]` - `["foreach_seq", "base"]` - `["foreach_seq", "tx"]` - `["foreach_seq_double", "cartesian"]` - `["foreach_seq_double", "cartesian", "tx"]` - `["foreach_seq_double", "linear"]` - `["foreach_seq_double", "linear", "tx"]` - `["foreach_seq_sum_many", ":nvecs => 8"]` - `["foreach_seq_sum_many", ":nvecs => 8", "tx"]` - `["sort", "F64 (narrow)"]` - `["sort", "F64 (wide)"]` - `["sort", "I64 (narrow)"]` - `["sort", "I64 (wide)"]` - `["sort", "reversed"]` - `["sort", "sorted"]` - `["unique", "rand(1:10, 1000000)"]` - `["unique", "rand(1:1000, 1000000)"]` ## Julia versioninfo ### Target ``` Julia Version 1.4.2 Commit 44fa15b150* (2020-05-23 18:35 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) Ubuntu 18.04.4 LTS uname: Linux 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: speed user nice sys idle irq #1 2397 MHz 67112 s 0 s 3040 s 18128 s 0 s #2 2397 MHz 43655 s 0 s 2583 s 41718 s 0 s Memory: 6.764884948730469 GB (2143.07421875 MB free) Uptime: 903.0 sec Load Avg: 1.27294921875 1.34033203125 0.9541015625 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-8.0.1 (ORCJIT, haswell) ``` ### Baseline ``` Julia Version 1.4.2 Commit 44fa15b150* (2020-05-23 18:35 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) Ubuntu 18.04.4 LTS uname: Linux 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: speed user nice sys idle irq #1 2397 MHz 87739 s 0 s 3684 s 32726 s 0 s #2 2397 MHz 70210 s 0 s 3473 s 50112 s 0 s Memory: 6.764884948730469 GB (2431.8203125 MB free) Uptime: 1265.0 sec Load Avg: 1.2646484375 1.3310546875 1.07861328125 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-8.0.1 (ORCJIT, haswell) ``` --- # Target result # Benchmark Report for */home/runner/work/ThreadsX.jl/ThreadsX.jl* ## Job Properties * Time of benchmark: 28 Jun 2020 - 9:2 * Package commit: c25bca * Julia commit: 44fa15 * Julia command flags: None * Environment variables: `OMP_NUM_THREADS => 1` `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 | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["findfirst", "0%", "base"]` | 4.200 ns (5%) | | | | | `["findfirst", "0%", "tx"]` | 26.801 μs (5%) | | 11.97 KiB (1%) | 219 | | `["findfirst", "0%", "tx-noterm"]` | 23.701 μs (5%) | | 11.97 KiB (1%) | 218 | | `["findfirst", "0%", "tx-seq"]` | 271.282 ns (5%) | | 544 bytes (1%) | 14 | | `["findfirst", "10%", "base"]` | 78.102 μs (5%) | | | | | `["findfirst", "10%", "tx"]` | 81.902 μs (5%) | | 14.36 KiB (1%) | 266 | | `["findfirst", "10%", "tx-noterm"]` | 212.605 μs (5%) | | 30.67 KiB (1%) | 567 | | `["findfirst", "10%", "tx-seq"]` | 78.502 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "20%", "base"]` | 155.904 μs (5%) | | | | | `["findfirst", "20%", "tx"]` | 146.404 μs (5%) | | 21.34 KiB (1%) | 394 | | `["findfirst", "20%", "tx-noterm"]` | 214.005 μs (5%) | | 23.67 KiB (1%) | 437 | | `["findfirst", "20%", "tx-seq"]` | 156.303 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "30%", "base"]` | 233.507 μs (5%) | | | | | `["findfirst", "30%", "tx"]` | 204.106 μs (5%) | | 28.27 KiB (1%) | 520 | | `["findfirst", "30%", "tx-noterm"]` | 230.806 μs (5%) | | 28.30 KiB (1%) | 521 | | `["findfirst", "30%", "tx-seq"]` | 234.008 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "40%", "base"]` | 311.708 μs (5%) | | | | | `["findfirst", "40%", "tx"]` | 274.807 μs (5%) | | 35.31 KiB (1%) | 651 | | `["findfirst", "40%", "tx-noterm"]` | 253.507 μs (5%) | | 35.33 KiB (1%) | 651 | | `["findfirst", "40%", "tx-seq"]` | 311.808 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "50%", "base"]` | 389.112 μs (5%) | | | | | `["findfirst", "50%", "tx"]` | 315.209 μs (5%) | | 37.67 KiB (1%) | 696 | | `["findfirst", "50%", "tx-noterm"]` | 337.410 μs (5%) | | 40.06 KiB (1%) | 744 | | `["findfirst", "50%", "tx-seq"]` | 389.611 μs (5%) | | 560 bytes (1%) | 15 | | `["foreach", "base", "A .= B .+ B'"]` | 414.010 ms (5%) | 32.171 ms | 305.18 MiB (1%) | 16000002 | | `["foreach", "base", "A .= B .+ C"]` | 249.311 ms (5%) | 28.028 ms | 305.18 MiB (1%) | 16000001 | | `["foreach", "broadcast", "A .= B .+ B'"]` | 18.897 ms (5%) | | | | | `["foreach", "broadcast", "A .= B .+ C"]` | 7.957 ms (5%) | | | | | `["foreach", "tx", "A .= B .+ B'"]` | 9.803 ms (5%) | | 25.94 KiB (1%) | 360 | | `["foreach", "tx", "A .= B .+ C"]` | 6.474 ms (5%) | | 12.75 KiB (1%) | 124 | | `["foreach_seq", "base", "Matrix"]` | 746.614 μs (5%) | | | | | `["foreach_seq", "base", "Transpose"]` | 2.449 ms (5%) | | | | | `["foreach_seq", "base", "Vector"]` | 746.813 μs (5%) | | | | | `["foreach_seq", "tx", "Matrix"]` | 751.514 μs (5%) | | | | | `["foreach_seq", "tx", "Transpose"]` | 1.091 ms (5%) | | 16 bytes (1%) | 1 | | `["foreach_seq", "tx", "Vector"]` | 746.314 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "man"]` | 26.501 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "tx", ":simd => :ivdep"]` | 26.500 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "tx", ":simd => false"]` | 26.100 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "tx", ":simd => true"]` | 26.500 μs (5%) | | | | | `["foreach_seq_double", "linear", "man"]` | 108.263 ns (5%) | | | | | `["foreach_seq_double", "linear", "tx", ":simd => :ivdep"]` | 107.274 ns (5%) | | | | | `["foreach_seq_double", "linear", "tx", ":simd => false"]` | 104.177 ns (5%) | | | | | `["foreach_seq_double", "linear", "tx", ":simd => true"]` | 108.281 ns (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "man"]` | 2.200 μs (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => :ivdep"]` | 2.200 μs (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => false"]` | 3.425 μs (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => true"]` | 3.413 μs (5%) | | | | | `["sort", "F64 (narrow)", "Base"]` | 2.757 ms (5%) | | | | | `["sort", "F64 (narrow)", "ThreadsX.MergeSort"]` | 3.002 ms (5%) | | 1.19 MiB (1%) | 535 | | `["sort", "F64 (narrow)", "ThreadsX.QuickSort"]` | 1.778 ms (5%) | | 965.09 KiB (1%) | 1225 | | `["sort", "F64 (narrow)", "ThreadsX.StableQuickSort"]` | 1.762 ms (5%) | | 1.02 MiB (1%) | 1246 | | `["sort", "F64 (wide)", "Base"]` | 6.524 ms (5%) | | | | | `["sort", "F64 (wide)", "ThreadsX.MergeSort"]` | 5.577 ms (5%) | | 1.19 MiB (1%) | 564 | | `["sort", "F64 (wide)", "ThreadsX.QuickSort"]` | 5.351 ms (5%) | | 1.01 MiB (1%) | 2143 | | `["sort", "F64 (wide)", "ThreadsX.StableQuickSort"]` | 6.224 ms (5%) | | 1.39 MiB (1%) | 2192 | | `["sort", "I64 (narrow)", "Base"]` | 162.604 μs (5%) | | 160 bytes (1%) | 1 | | `["sort", "I64 (narrow)", "ThreadsX.MergeSort"]` | 165.703 μs (5%) | | 864 bytes (1%) | 17 | | `["sort", "I64 (narrow)", "ThreadsX.QuickSort"]` | 166.303 μs (5%) | | 864 bytes (1%) | 17 | | `["sort", "I64 (narrow)", "ThreadsX.StableQuickSort"]` | 165.903 μs (5%) | | 864 bytes (1%) | 17 | | `["sort", "I64 (wide)", "Base"]` | 6.545 ms (5%) | | | | | `["sort", "I64 (wide)", "ThreadsX.MergeSort"]` | 4.766 ms (5%) | | 1.19 MiB (1%) | 554 | | `["sort", "I64 (wide)", "ThreadsX.QuickSort"]` | 4.473 ms (5%) | | 1.01 MiB (1%) | 2236 | | `["sort", "I64 (wide)", "ThreadsX.StableQuickSort"]` | 5.320 ms (5%) | | 1.40 MiB (1%) | 2272 | | `["sort", "reversed", "Base"]` | 868.217 μs (5%) | | | | | `["sort", "reversed", "ThreadsX.MergeSort"]` | 1.321 ms (5%) | | 1.18 MiB (1%) | 434 | | `["sort", "reversed", "ThreadsX.QuickSort"]` | 1.238 ms (5%) | | 998.73 KiB (1%) | 1870 | | `["sort", "reversed", "ThreadsX.StableQuickSort"]` | 1.720 ms (5%) | | 1.36 MiB (1%) | 1904 | | `["sort", "sorted", "Base"]` | 815.415 μs (5%) | | | | | `["sort", "sorted", "ThreadsX.MergeSort"]` | 967.418 μs (5%) | | 1.18 MiB (1%) | 431 | | `["sort", "sorted", "ThreadsX.QuickSort"]` | 1.238 ms (5%) | | 998.77 KiB (1%) | 1872 | | `["sort", "sorted", "ThreadsX.StableQuickSort"]` | 1.402 ms (5%) | | 1.36 MiB (1%) | 1904 | | `["unique", "rand(1:10, 1000000)", "base"]` | 10.577 ms (5%) | | 832 bytes (1%) | 8 | | `["unique", "rand(1:10, 1000000)", "tx"]` | 5.522 ms (5%) | | 50.98 KiB (1%) | 882 | | `["unique", "rand(1:1000, 1000000)", "base"]` | 10.667 ms (5%) | | 65.95 KiB (1%) | 27 | | `["unique", "rand(1:1000, 1000000)", "tx"]` | 5.950 ms (5%) | | 1.07 MiB (1%) | 1186 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["findfirst", "0%"]` - `["findfirst", "10%"]` - `["findfirst", "20%"]` - `["findfirst", "30%"]` - `["findfirst", "40%"]` - `["findfirst", "50%"]` - `["foreach", "base"]` - `["foreach", "broadcast"]` - `["foreach", "tx"]` - `["foreach_seq", "base"]` - `["foreach_seq", "tx"]` - `["foreach_seq_double", "cartesian"]` - `["foreach_seq_double", "cartesian", "tx"]` - `["foreach_seq_double", "linear"]` - `["foreach_seq_double", "linear", "tx"]` - `["foreach_seq_sum_many", ":nvecs => 8"]` - `["foreach_seq_sum_many", ":nvecs => 8", "tx"]` - `["sort", "F64 (narrow)"]` - `["sort", "F64 (wide)"]` - `["sort", "I64 (narrow)"]` - `["sort", "I64 (wide)"]` - `["sort", "reversed"]` - `["sort", "sorted"]` - `["unique", "rand(1:10, 1000000)"]` - `["unique", "rand(1:1000, 1000000)"]` ## Julia versioninfo ``` Julia Version 1.4.2 Commit 44fa15b150* (2020-05-23 18:35 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) Ubuntu 18.04.4 LTS uname: Linux 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: speed user nice sys idle irq #1 2397 MHz 67112 s 0 s 3040 s 18128 s 0 s #2 2397 MHz 43655 s 0 s 2583 s 41718 s 0 s Memory: 6.764884948730469 GB (2143.07421875 MB free) Uptime: 903.0 sec Load Avg: 1.27294921875 1.34033203125 0.9541015625 WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-8.0.1 (ORCJIT, haswell) ``` --- # Baseline result # Benchmark Report for */home/runner/work/ThreadsX.jl/ThreadsX.jl* ## Job Properties * Time of benchmark: 28 Jun 2020 - 9:8 * Package commit: 7362ea * Julia commit: 44fa15 * Julia command flags: None * Environment variables: `OMP_NUM_THREADS => 1` `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 | |--------------------------------------------------------------------|----------------:|----------:|----------------:|------------:| | `["findfirst", "0%", "base"]` | 3.700 ns (5%) | | | | | `["findfirst", "0%", "tx"]` | 26.802 μs (5%) | | 11.95 KiB (1%) | 218 | | `["findfirst", "0%", "tx-noterm"]` | 24.802 μs (5%) | | 11.97 KiB (1%) | 218 | | `["findfirst", "0%", "tx-seq"]` | 263.973 ns (5%) | | 544 bytes (1%) | 14 | | `["findfirst", "10%", "base"]` | 78.004 μs (5%) | | | | | `["findfirst", "10%", "tx"]` | 82.205 μs (5%) | | 14.36 KiB (1%) | 266 | | `["findfirst", "10%", "tx-noterm"]` | 214.912 μs (5%) | | 25.95 KiB (1%) | 477 | | `["findfirst", "10%", "tx-seq"]` | 78.505 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "20%", "base"]` | 155.908 μs (5%) | | | | | `["findfirst", "20%", "tx"]` | 151.009 μs (5%) | | 21.34 KiB (1%) | 394 | | `["findfirst", "20%", "tx-noterm"]` | 197.111 μs (5%) | | 23.66 KiB (1%) | 436 | | `["findfirst", "20%", "tx-seq"]` | 156.208 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "30%", "base"]` | 233.415 μs (5%) | | | | | `["findfirst", "30%", "tx"]` | 199.713 μs (5%) | | 28.27 KiB (1%) | 520 | | `["findfirst", "30%", "tx-noterm"]` | 196.112 μs (5%) | | 28.31 KiB (1%) | 522 | | `["findfirst", "30%", "tx-seq"]` | 234.015 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "40%", "base"]` | 311.218 μs (5%) | | | | | `["findfirst", "40%", "tx"]` | 278.416 μs (5%) | | 35.30 KiB (1%) | 650 | | `["findfirst", "40%", "tx-noterm"]` | 277.716 μs (5%) | | 35.30 KiB (1%) | 649 | | `["findfirst", "40%", "tx-seq"]` | 311.718 μs (5%) | | 560 bytes (1%) | 15 | | `["findfirst", "50%", "base"]` | 389.024 μs (5%) | | | | | `["findfirst", "50%", "tx"]` | 318.519 μs (5%) | | 37.69 KiB (1%) | 697 | | `["findfirst", "50%", "tx-noterm"]` | 341.120 μs (5%) | | 40.06 KiB (1%) | 744 | | `["findfirst", "50%", "tx-seq"]` | 389.523 μs (5%) | | 560 bytes (1%) | 15 | | `["foreach", "base", "A .= B .+ B'"]` | 442.620 ms (5%) | 37.105 ms | 305.18 MiB (1%) | 16000002 | | `["foreach", "base", "A .= B .+ C"]` | 255.142 ms (5%) | 36.302 ms | 305.18 MiB (1%) | 16000001 | | `["foreach", "broadcast", "A .= B .+ B'"]` | 18.683 ms (5%) | | | | | `["foreach", "broadcast", "A .= B .+ C"]` | 7.961 ms (5%) | | | | | `["foreach", "tx", "A .= B .+ B'"]` | 9.728 ms (5%) | | 25.94 KiB (1%) | 360 | | `["foreach", "tx", "A .= B .+ C"]` | 6.444 ms (5%) | | 12.75 KiB (1%) | 124 | | `["foreach_seq", "base", "Matrix"]` | 746.827 μs (5%) | | | | | `["foreach_seq", "base", "Transpose"]` | 2.513 ms (5%) | | | | | `["foreach_seq", "base", "Vector"]` | 746.827 μs (5%) | | | | | `["foreach_seq", "tx", "Matrix"]` | 752.226 μs (5%) | | | | | `["foreach_seq", "tx", "Transpose"]` | 1.144 ms (5%) | | 16 bytes (1%) | 1 | | `["foreach_seq", "tx", "Vector"]` | 746.726 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "man"]` | 26.501 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "tx", ":simd => :ivdep"]` | 26.401 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "tx", ":simd => false"]` | 26.201 μs (5%) | | | | | `["foreach_seq_double", "cartesian", "tx", ":simd => true"]` | 26.600 μs (5%) | | | | | `["foreach_seq_double", "linear", "man"]` | 104.188 ns (5%) | | | | | `["foreach_seq_double", "linear", "tx", ":simd => :ivdep"]` | 100.000 ns (5%) | | | | | `["foreach_seq_double", "linear", "tx", ":simd => false"]` | 100.000 ns (5%) | | | | | `["foreach_seq_double", "linear", "tx", ":simd => true"]` | 100.000 ns (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "man"]` | 1.700 μs (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => :ivdep"]` | 1.700 μs (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => false"]` | 3.300 μs (5%) | | | | | `["foreach_seq_sum_many", ":nvecs => 8", "tx", ":simd => true"]` | 3.300 μs (5%) | | | | | `["sort", "F64 (narrow)", "Base"]` | 2.756 ms (5%) | | | | | `["sort", "F64 (narrow)", "ThreadsX.MergeSort"]` | 2.947 ms (5%) | | 1.19 MiB (1%) | 534 | | `["sort", "F64 (narrow)", "ThreadsX.QuickSort"]` | 1.756 ms (5%) | | 965.11 KiB (1%) | 1226 | | `["sort", "F64 (narrow)", "ThreadsX.StableQuickSort"]` | 1.795 ms (5%) | | 1.02 MiB (1%) | 1246 | | `["sort", "F64 (wide)", "Base"]` | 6.512 ms (5%) | | | | | `["sort", "F64 (wide)", "ThreadsX.MergeSort"]` | 5.504 ms (5%) | | 1.19 MiB (1%) | 563 | | `["sort", "F64 (wide)", "ThreadsX.QuickSort"]` | 5.348 ms (5%) | | 1.01 MiB (1%) | 2144 | | `["sort", "F64 (wide)", "ThreadsX.StableQuickSort"]` | 6.117 ms (5%) | | 1.39 MiB (1%) | 2194 | | `["sort", "I64 (narrow)", "Base"]` | 162.407 μs (5%) | | 160 bytes (1%) | 1 | | `["sort", "I64 (narrow)", "ThreadsX.MergeSort"]` | 164.107 μs (5%) | | 864 bytes (1%) | 17 | | `["sort", "I64 (narrow)", "ThreadsX.QuickSort"]` | 163.807 μs (5%) | | 864 bytes (1%) | 17 | | `["sort", "I64 (narrow)", "ThreadsX.StableQuickSort"]` | 164.307 μs (5%) | | 864 bytes (1%) | 17 | | `["sort", "I64 (wide)", "Base"]` | 6.541 ms (5%) | | | | | `["sort", "I64 (wide)", "ThreadsX.MergeSort"]` | 4.676 ms (5%) | | 1.19 MiB (1%) | 554 | | `["sort", "I64 (wide)", "ThreadsX.QuickSort"]` | 4.514 ms (5%) | | 1.01 MiB (1%) | 2235 | | `["sort", "I64 (wide)", "ThreadsX.StableQuickSort"]` | 5.246 ms (5%) | | 1.40 MiB (1%) | 2272 | | `["sort", "reversed", "Base"]` | 868.136 μs (5%) | | | | | `["sort", "reversed", "ThreadsX.MergeSort"]` | 1.350 ms (5%) | | 1.18 MiB (1%) | 434 | | `["sort", "reversed", "ThreadsX.QuickSort"]` | 1.256 ms (5%) | | 998.75 KiB (1%) | 1871 | | `["sort", "reversed", "ThreadsX.StableQuickSort"]` | 1.738 ms (5%) | | 1.36 MiB (1%) | 1904 | | `["sort", "sorted", "Base"]` | 815.032 μs (5%) | | | | | `["sort", "sorted", "ThreadsX.MergeSort"]` | 976.438 μs (5%) | | 1.18 MiB (1%) | 431 | | `["sort", "sorted", "ThreadsX.QuickSort"]` | 1.289 ms (5%) | | 998.78 KiB (1%) | 1873 | | `["sort", "sorted", "ThreadsX.StableQuickSort"]` | 1.424 ms (5%) | | 1.36 MiB (1%) | 1903 | | `["unique", "rand(1:10, 1000000)", "base"]` | 10.637 ms (5%) | | 832 bytes (1%) | 8 | | `["unique", "rand(1:10, 1000000)", "tx"]` | 5.539 ms (5%) | | 50.98 KiB (1%) | 882 | | `["unique", "rand(1:1000, 1000000)", "base"]` | 9.875 ms (5%) | | 65.95 KiB (1%) | 27 | | `["unique", "rand(1:1000, 1000000)", "tx"]` | 5.858 ms (5%) | | 1.07 MiB (1%) | 1186 | ## Benchmark Group List Here's a list of all the benchmark groups executed by this job: - `["findfirst", "0%"]` - `["findfirst", "10%"]` - `["findfirst", "20%"]` - `["findfirst", "30%"]` - `["findfirst", "40%"]` - `["findfirst", "50%"]` - `["foreach", "base"]` - `["foreach", "broadcast"]` - `["foreach", "tx"]` - `["foreach_seq", "base"]` - `["foreach_seq", "tx"]` - `["foreach_seq_double", "cartesian"]` - `["foreach_seq_double", "cartesian", "tx"]` - `["foreach_seq_double", "linear"]` - `["foreach_seq_double", "linear", "tx"]` - `["foreach_seq_sum_many", ":nvecs => 8"]` - `["foreach_seq_sum_many", ":nvecs => 8", "tx"]` - `["sort", "F64 (narrow)"]` - `["sort", "F64 (wide)"]` - `["sort", "I64 (narrow)"]` - `["sort", "I64 (wide)"]` - `["sort", "reversed"]` - `["sort", "sorted"]` - `["unique", "rand(1:10, 1000000)"]` - `["unique", "rand(1:1000, 1000000)"]` ## Julia versioninfo ``` Julia Version 1.4.2 Commit 44fa15b150* (2020-05-23 18:35 UTC) Platform Info: OS: Linux (x86_64-pc-linux-gnu) Ubuntu 18.04.4 LTS uname: Linux 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: speed user nice sys idle irq #1 2397 MHz 87739 s 0 s 3684 s 32726 s 0 s #2 2397 MHz 70210 s 0 s 3473 s 50112 s 0 s Memory: 6.764884948730469 GB (2431.8203125 MB free) Uptime: 1265.0 sec Load Avg: 1.2646484375 1.3310546875 1.07861328125 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: 2397.222 BogoMIPS: 4794.44 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 |