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

Faster append!(_, ::SingletonVector) #96

Merged
merged 3 commits into from
Jan 18, 2020
Merged

Faster append!(_, ::SingletonVector) #96

merged 3 commits into from
Jan 18, 2020

Conversation

tkf
Copy link
Member

@tkf tkf commented Jan 17, 2020

No description provided.

@codecov-io
Copy link

codecov-io commented Jan 17, 2020

Codecov Report

Merging #96 into master will decrease coverage by 2.26%.
The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #96      +/-   ##
==========================================
- Coverage   89.08%   86.81%   -2.27%     
==========================================
  Files          20       20              
  Lines         339      349      +10     
==========================================
+ Hits          302      303       +1     
- Misses         37       46       +9
Impacted Files Coverage Δ
src/NoBang/emptycontainers.jl 91.66% <0%> (-8.34%) ⬇️
src/base.jl 76.66% <0%> (ø) ⬆️

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 be94242...6e41807. Read the comment docs.

@github-actions
Copy link
Contributor

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 18 Jan 2020 - 01:55
    • Baseline: 18 Jan 2020 - 01:56
  • Package commits:
    • Target: 9f0995
    • Baseline: 6ae94c
  • Julia commits:
    • Target: 2d5741
    • Baseline: 2d5741
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: None
    • Baseline: None

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
["append", "append!!(::Vector, ::SingletonVector)"] 0.47 (5%) ✅ 1.00 (1%)
["dataframes", "Categorical"] 0.83 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["append"]
  • ["dataframes"]

Julia versioninfo

Target

Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.3 LTS
  uname: Linux 5.0.0-1027-azure #29~18.04.1-Ubuntu SMP Mon Nov 25 21:18:57 UTC 2019 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2397 MHz      12081 s          0 s        824 s       9261 s          0 s
       #2  2397 MHz       6660 s          0 s       1218 s      14478 s          0 s
       
  Memory: 6.782737731933594 GB (3801.48046875 MB free)
  Uptime: 236.0 sec
  Load Avg:  1.0615234375  0.78369140625  0.35302734375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, haswell)

Baseline

Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.3 LTS
  uname: Linux 5.0.0-1027-azure #29~18.04.1-Ubuntu SMP Mon Nov 25 21:18:57 UTC 2019 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2397 MHz      16774 s          0 s        912 s      11637 s          0 s
       #2  2397 MHz       9098 s          0 s       1266 s      19164 s          0 s
       
  Memory: 6.782737731933594 GB (3739.40625 MB free)
  Uptime: 308.0 sec
  Load Avg:  1.0166015625  0.83203125  0.40234375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, haswell)

Target result

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

Job Properties

  • Time of benchmark: 18 Jan 2020 - 1:55
  • Package commit: 9f0995
  • Julia commit: 2d5741
  • Julia command flags: None
  • Environment variables: None

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
["append", "append!!(::SVector, ::SingletonVector)"] 13.688 ms (5%) 16.78 MiB (1%) 600000
["append", "append!!(::Vector, ::SingletonVector)"] 558.130 μs (5%)
["append", "append!!(Empty(SVector), ::SingletonVector)"] 4.100 ns (5%)
["dataframes", "Categorical"] 769.997 ms (5%) 94.552 ms 992.89 MiB (1%) 6318092
["dataframes", "Int-Int"] 1.619 ms (5%) 160.23 KiB (1%) 10251
["dataframes", "Missing-Int"] 2.110 ms (5%) 160.23 KiB (1%) 10251
["dataframes", "Missing-String"] 1.983 ms (5%) 160.27 KiB (1%) 10252
["dataframes", "String-String"] 2.047 ms (5%) 160.27 KiB (1%) 10252

Benchmark Group List

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

  • ["append"]
  • ["dataframes"]

Julia versioninfo

Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.3 LTS
  uname: Linux 5.0.0-1027-azure #29~18.04.1-Ubuntu SMP Mon Nov 25 21:18:57 UTC 2019 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2397 MHz      12081 s          0 s        824 s       9261 s          0 s
       #2  2397 MHz       6660 s          0 s       1218 s      14478 s          0 s
       
  Memory: 6.782737731933594 GB (3801.48046875 MB free)
  Uptime: 236.0 sec
  Load Avg:  1.0615234375  0.78369140625  0.35302734375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, haswell)

Baseline result

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

Job Properties

  • Time of benchmark: 18 Jan 2020 - 1:56
  • Package commit: 6ae94c
  • Julia commit: 2d5741
  • Julia command flags: None
  • Environment variables: None

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
["append", "append!!(::SVector, ::SingletonVector)"] 13.864 ms (5%) 16.78 MiB (1%) 600000
["append", "append!!(::Vector, ::SingletonVector)"] 1.194 ms (5%)
["append", "append!!(Empty(SVector), ::SingletonVector)"] 4.100 ns (5%)
["dataframes", "Categorical"] 925.178 ms (5%) 94.509 ms 992.89 MiB (1%) 6318092
["dataframes", "Int-Int"] 1.649 ms (5%) 160.23 KiB (1%) 10251
["dataframes", "Missing-Int"] 2.080 ms (5%) 160.23 KiB (1%) 10251
["dataframes", "Missing-String"] 1.993 ms (5%) 160.27 KiB (1%) 10252
["dataframes", "String-String"] 2.024 ms (5%) 160.27 KiB (1%) 10252

Benchmark Group List

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

  • ["append"]
  • ["dataframes"]

Julia versioninfo

Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
      Ubuntu 18.04.3 LTS
  uname: Linux 5.0.0-1027-azure #29~18.04.1-Ubuntu SMP Mon Nov 25 21:18:57 UTC 2019 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz: 
              speed         user         nice          sys         idle          irq
       #1  2397 MHz      16774 s          0 s        912 s      11637 s          0 s
       #2  2397 MHz       9098 s          0 s       1266 s      19164 s          0 s
       
  Memory: 6.782737731933594 GB (3739.40625 MB free)
  Uptime: 308.0 sec
  Load Avg:  1.0166015625  0.83203125  0.40234375
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, haswell)

@mergify mergify bot merged commit 6ae7000 into master Jan 18, 2020
@delete-merged-branch delete-merged-branch bot deleted the fast-append branch January 18, 2020 02:05
tkf added a commit to JuliaFolds/Transducers.jl that referenced this pull request Jan 18, 2020
Using commit:
Faster append!(_, ::SingletonVector) (JuliaFolds/BangBang.jl#96)
JuliaFolds/BangBang.jl@6ae7000
tkf added a commit to JuliaFolds/Transducers.jl that referenced this pull request Jan 18, 2020
Using commit:
Faster append!(_, ::SingletonVector) (JuliaFolds/BangBang.jl#96)
JuliaFolds/BangBang.jl@6ae7000
mergify bot pushed a commit to JuliaFolds/Transducers.jl that referenced this pull request Jan 18, 2020
Using commit:
Faster append!(_, ::SingletonVector) (JuliaFolds/BangBang.jl#96)
JuliaFolds/BangBang.jl@6ae7000
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