Skip to content

bench: added allocation benchmarks on CI #219

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

Merged
merged 18 commits into from
Jun 29, 2025
Merged

bench: added allocation benchmarks on CI #219

merged 18 commits into from
Jun 29, 2025

Conversation

franckgaga
Copy link
Member

@franckgaga franckgaga commented Jun 21, 2025

Removed the no-allocation tests (@allocations macro is not reliable).
Replace them is no-allocation benchmarking, by using BenchmarkTools with the option sample=1 and BenchmarkCI.jl package.
Might replace BenchmarkCI.jl with AirspeedVelocity.jl soon, since it seems less experimental and complete.

Note that the benchmark label needs to be present to run the benchmarks on CI with github actions.

Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 21 Jun 2025 - 16:42
    • Baseline: 21 Jun 2025 - 16:42
  • Package commits:
  • Julia commits:
    • Target: 760b2e5
    • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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
["trigonometry", "circular", ("cos", 0.0)] 1.06 (5%) ❌ 1.00 (1%)
["trigonometry", "circular", ("sin", 0.0)] 1.06 (5%) ❌ 1.00 (1%)
["trigonometry", "circular", ("tan", 0.0)] 0.94 (5%) ✅ 1.00 (1%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 1.06 (5%) ❌ 1.00 (1%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 1.06 (5%) ❌ 1.00 (1%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 0.94 (5%) ✅ 1.00 (1%)
["utf8", "join"] 0.95 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       3144 s          0 s        124 s       9917 s          0 s
       #2     0 MHz       2962 s          0 s        116 s      10115 s          0 s
       #3     0 MHz       2711 s          0 s        103 s      10383 s          0 s
       #4     0 MHz       3004 s          0 s         96 s      10090 s          0 s
  Memory: 15.620769500732422 GB (13952.12109375 MB free)
  Uptime: 1322.04 sec
  Load Avg:  1.43  1.59  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       3280 s          0 s        145 s      10005 s          0 s
       #2     0 MHz       3014 s          0 s        117 s      10308 s          0 s
       #3     0 MHz       2747 s          0 s        104 s      10590 s          0 s
       #4     0 MHz       3008 s          0 s         96 s      10331 s          0 s
  Memory: 15.620769500732422 GB (14033.83203125 MB free)
  Uptime: 1346.56 sec
  Load Avg:  1.28  1.54  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 21 Jun 2025 - 16:42
  • Package commit: 36e5091
  • Julia commit: 760b2e5
  • 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
["trigonometry", "circular", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("cos", 0.0)] 5.560 ns (5%)
["trigonometry", "circular", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("sin", 0.0)] 5.249 ns (5%)
["trigonometry", "circular", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("tan", 0.0)] 4.939 ns (5%)
["trigonometry", "hyperbolic", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 5.560 ns (5%)
["trigonometry", "hyperbolic", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 5.249 ns (5%)
["trigonometry", "hyperbolic", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 4.939 ns (5%)
["utf8", "join"] 64.726 ms (5%) 2.203 ms 379.61 MiB (1%) 39
["utf8", "replace"] 85.510 μs (5%) 11.94 KiB (1%) 4

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       3144 s          0 s        124 s       9917 s          0 s
       #2     0 MHz       2962 s          0 s        116 s      10115 s          0 s
       #3     0 MHz       2711 s          0 s        103 s      10383 s          0 s
       #4     0 MHz       3004 s          0 s         96 s      10090 s          0 s
  Memory: 15.620769500732422 GB (13952.12109375 MB free)
  Uptime: 1322.04 sec
  Load Avg:  1.43  1.59  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 21 Jun 2025 - 16:42
  • Package commit: 49e7c92
  • Julia commit: 760b2e5
  • 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
["trigonometry", "circular", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("cos", 0.0)] 5.249 ns (5%)
["trigonometry", "circular", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("sin", 0.0)] 4.939 ns (5%)
["trigonometry", "circular", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("tan", 0.0)] 5.249 ns (5%)
["trigonometry", "hyperbolic", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 5.249 ns (5%)
["trigonometry", "hyperbolic", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 4.939 ns (5%)
["trigonometry", "hyperbolic", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 5.249 ns (5%)
["utf8", "join"] 68.184 ms (5%) 3.013 ms 379.61 MiB (1%) 39
["utf8", "replace"] 84.579 μs (5%) 11.94 KiB (1%) 4

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       3280 s          0 s        145 s      10005 s          0 s
       #2     0 MHz       3014 s          0 s        117 s      10308 s          0 s
       #3     0 MHz       2747 s          0 s        104 s      10590 s          0 s
       #4     0 MHz       3008 s          0 s         96 s      10331 s          0 s
  Memory: 15.620769500732422 GB (14033.83203125 MB free)
  Uptime: 1346.56 sec
  Load Avg:  1.28  1.54  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

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

lscpu output:

Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        48 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               4
On-line CPU(s) list:                  0-3
Vendor ID:                            AuthenticAMD
Model name:                           AMD EPYC 7763 64-Core Processor
CPU family:                           25
Model:                                1
Thread(s) per core:                   2
Core(s) per socket:                   2
Socket(s):                            1
Stepping:                             1
BogoMIPS:                             4890.86
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization:                       AMD-V
Hypervisor vendor:                    Microsoft
Virtualization type:                  full
L1d cache:                            64 KiB (2 instances)
L1i cache:                            64 KiB (2 instances)
L2 cache:                             1 MiB (2 instances)
L3 cache:                             32 MiB (1 instance)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-3
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Vulnerable: Safe RET, no microcode
Vulnerability Spec store bypass:      Vulnerable
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected
Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@codecov-commenter
Copy link

codecov-commenter commented Jun 21, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.61%. Comparing base (b3c8b0f) to head (9bee990).
Report is 19 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #219   +/-   ##
=======================================
  Coverage   98.61%   98.61%           
=======================================
  Files          26       26           
  Lines        4327     4327           
=======================================
  Hits         4267     4267           
  Misses         60       60           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 27 Jun 2025 - 15:27
    • Baseline: 27 Jun 2025 - 15:28
  • Package commits:
  • Julia commits:
    • Target: 760b2e5
    • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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
["trigonometry", "circular", ("cos", 0.0)] 0.90 (5%) ✅ 1.00 (1%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 0.90 (5%) ✅ 1.00 (1%)

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2561 s          0 s        136 s       3907 s          0 s
       #2     0 MHz       3096 s          0 s         90 s       3428 s          0 s
       #3     0 MHz       2304 s          0 s        104 s       4199 s          0 s
       #4     0 MHz       3756 s          0 s         96 s       2758 s          0 s
  Memory: 15.620769500732422 GB (14076.75 MB free)
  Uptime: 663.37 sec
  Load Avg:  1.42  1.6  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2643 s          0 s        137 s       4069 s          0 s
       #2     0 MHz       3214 s          0 s        110 s       3535 s          0 s
       #3     0 MHz       2308 s          0 s        105 s       4440 s          0 s
       #4     0 MHz       3779 s          0 s         97 s       2980 s          0 s
  Memory: 15.620769500732422 GB (13977.6328125 MB free)
  Uptime: 687.95 sec
  Load Avg:  1.28  1.55  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 27 Jun 2025 - 15:27
  • Package commit: 3bcc9b9
  • Julia commit: 760b2e5
  • 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
["trigonometry", "circular", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("cos", 0.0)] 5.560 ns (5%)
["trigonometry", "circular", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("sin", 0.0)] 5.249 ns (5%)
["trigonometry", "circular", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("tan", 0.0)] 4.939 ns (5%)
["trigonometry", "hyperbolic", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 5.560 ns (5%)
["trigonometry", "hyperbolic", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 5.249 ns (5%)
["trigonometry", "hyperbolic", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 4.939 ns (5%)
["utf8", "join"] 66.657 ms (5%) 4.750 ms 379.61 MiB (1%) 39
["utf8", "replace"] 84.739 μs (5%) 11.94 KiB (1%) 4

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2561 s          0 s        136 s       3907 s          0 s
       #2     0 MHz       3096 s          0 s         90 s       3428 s          0 s
       #3     0 MHz       2304 s          0 s        104 s       4199 s          0 s
       #4     0 MHz       3756 s          0 s         96 s       2758 s          0 s
  Memory: 15.620769500732422 GB (14076.75 MB free)
  Uptime: 663.37 sec
  Load Avg:  1.42  1.6  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 27 Jun 2025 - 15:28
  • Package commit: b3c8b0f
  • Julia commit: 760b2e5
  • 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
["trigonometry", "circular", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("cos", 0.0)] 6.171 ns (5%)
["trigonometry", "circular", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("sin", 0.0)] 5.249 ns (5%)
["trigonometry", "circular", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "circular", ("tan", 0.0)] 4.939 ns (5%)
["trigonometry", "hyperbolic", ("cos", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 6.171 ns (5%)
["trigonometry", "hyperbolic", ("sin", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 5.249 ns (5%)
["trigonometry", "hyperbolic", ("tan", "π")] 1.552 ns (5%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 4.939 ns (5%)
["utf8", "join"] 67.240 ms (5%) 5.226 ms 379.61 MiB (1%) 39
["utf8", "replace"] 84.309 μs (5%) 11.94 KiB (1%) 4

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2643 s          0 s        137 s       4069 s          0 s
       #2     0 MHz       3214 s          0 s        110 s       3535 s          0 s
       #3     0 MHz       2308 s          0 s        105 s       4440 s          0 s
       #4     0 MHz       3779 s          0 s         97 s       2980 s          0 s
  Memory: 15.620769500732422 GB (13977.6328125 MB free)
  Uptime: 687.95 sec
  Load Avg:  1.28  1.55  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

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

lscpu output:

Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        48 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               4
On-line CPU(s) list:                  0-3
Vendor ID:                            AuthenticAMD
Model name:                           AMD EPYC 7763 64-Core Processor
CPU family:                           25
Model:                                1
Thread(s) per core:                   2
Core(s) per socket:                   2
Socket(s):                            1
Stepping:                             1
BogoMIPS:                             4890.86
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization:                       AMD-V
Hypervisor vendor:                    Microsoft
Virtualization type:                  full
L1d cache:                            64 KiB (2 instances)
L1i cache:                            64 KiB (2 instances)
L2 cache:                             1 MiB (2 instances)
L3 cache:                             32 MiB (1 instance)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-3
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Vulnerable: Safe RET, no microcode
Vulnerability Spec store bypass:      Vulnerable
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected
Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 28 Jun 2025 - 14:47
    • Baseline: 28 Jun 2025 - 14:48
  • Package commits:
  • Julia commits:
    • Target: 760b2e5
    • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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

Benchmark Group List

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

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2597 s          0 s        101 s      11974 s          0 s
       #2     0 MHz       2764 s          0 s         88 s      11823 s          0 s
       #3     0 MHz       2699 s          0 s        124 s      11846 s          0 s
       #4     0 MHz       3364 s          0 s         95 s      11211 s          0 s
  Memory: 15.620769500732422 GB (13863.02734375 MB free)
  Uptime: 1470.05 sec
  Load Avg:  1.59  1.64  0.99
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2598 s          0 s        101 s      12196 s          0 s
       #2     0 MHz       2950 s          0 s        109 s      11840 s          0 s
       #3     0 MHz       2702 s          0 s        125 s      12065 s          0 s
       #4     0 MHz       3380 s          0 s         95 s      11418 s          0 s
  Memory: 15.620769500732422 GB (13993.27734375 MB free)
  Uptime: 1492.4 sec
  Load Avg:  1.39  1.59  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 28 Jun 2025 - 14:47
  • Package commit: bced9ea
  • Julia commit: 760b2e5
  • 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
["SimModel", "allocation", "evaloutput"] 92.192 ns (5%)
["SimModel", "allocation", "updatestate!"] 171.316 ns (5%)

Benchmark Group List

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

  • ["SimModel", "allocation"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2597 s          0 s        101 s      11974 s          0 s
       #2     0 MHz       2764 s          0 s         88 s      11823 s          0 s
       #3     0 MHz       2699 s          0 s        124 s      11846 s          0 s
       #4     0 MHz       3364 s          0 s         95 s      11211 s          0 s
  Memory: 15.620769500732422 GB (13863.02734375 MB free)
  Uptime: 1470.05 sec
  Load Avg:  1.59  1.64  0.99
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 28 Jun 2025 - 14:48
  • Package commit: b3c8b0f
  • Julia commit: 760b2e5
  • 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
["trigonometry", "circular", ("cos", "π")] 20.000 ns (5%)
["trigonometry", "circular", ("cos", 0.0)] 29.000 ns (5%)
["trigonometry", "circular", ("sin", "π")] 20.000 ns (5%)
["trigonometry", "circular", ("sin", 0.0)] 29.000 ns (5%)
["trigonometry", "circular", ("tan", "π")] 20.000 ns (5%)
["trigonometry", "circular", ("tan", 0.0)] 29.000 ns (5%)
["trigonometry", "hyperbolic", ("cos", "π")] 20.000 ns (5%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 29.000 ns (5%)
["trigonometry", "hyperbolic", ("sin", "π")] 20.000 ns (5%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 29.000 ns (5%)
["trigonometry", "hyperbolic", ("tan", "π")] 20.000 ns (5%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 29.000 ns (5%)
["utf8", "join"] 65.366 ms (5%) 3.097 ms 379.61 MiB (1%) 39
["utf8", "replace"] 83.928 μs (5%) 11.94 KiB (1%) 4

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2598 s          0 s        101 s      12196 s          0 s
       #2     0 MHz       2950 s          0 s        109 s      11840 s          0 s
       #3     0 MHz       2702 s          0 s        125 s      12065 s          0 s
       #4     0 MHz       3380 s          0 s         95 s      11418 s          0 s
  Memory: 15.620769500732422 GB (13993.27734375 MB free)
  Uptime: 1492.4 sec
  Load Avg:  1.39  1.59  1.0
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

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

lscpu output:

Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        48 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               4
On-line CPU(s) list:                  0-3
Vendor ID:                            AuthenticAMD
Model name:                           AMD EPYC 7763 64-Core Processor
CPU family:                           25
Model:                                1
Thread(s) per core:                   2
Core(s) per socket:                   2
Socket(s):                            1
Stepping:                             1
BogoMIPS:                             4890.85
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization:                       AMD-V
Hypervisor vendor:                    Microsoft
Virtualization type:                  full
L1d cache:                            64 KiB (2 instances)
L1i cache:                            64 KiB (2 instances)
L2 cache:                             1 MiB (2 instances)
L3 cache:                             32 MiB (1 instance)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-3
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Vulnerable: Safe RET, no microcode
Vulnerability Spec store bypass:      Vulnerable
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected
Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 29 Jun 2025 - 15:23
    • Baseline: 29 Jun 2025 - 15:23
  • Package commits:
  • Julia commits:
    • Target: 760b2e5
    • Baseline: 760b2e5
  • 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 ✅). Brackets display tolerances for the benchmark estimates. 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

Benchmark Group List

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

Julia versioninfo

Target

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2620 s          0 s         93 s       3794 s          0 s
       #2     0 MHz       2494 s          0 s         86 s       3928 s          0 s
       #3     0 MHz       2418 s          0 s        119 s       3973 s          0 s
       #4     0 MHz       4210 s          0 s         95 s       2201 s          0 s
  Memory: 15.620769500732422 GB (13994.86328125 MB free)
  Uptime: 652.93 sec
  Load Avg:  1.36  1.55  0.97
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2649 s          0 s         94 s       3993 s          0 s
       #2     0 MHz       2648 s          0 s        108 s       3982 s          0 s
       #3     0 MHz       2427 s          0 s        119 s       4193 s          0 s
       #4     0 MHz       4229 s          0 s         96 s       2411 s          0 s
  Memory: 15.620769500732422 GB (13995.17578125 MB free)
  Uptime: 675.89 sec
  Load Avg:  1.29  1.52  0.98
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Target result

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

Job Properties

  • Time of benchmark: 29 Jun 2025 - 15:23
  • Package commit: 21d722c
  • Julia commit: 760b2e5
  • 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
["SimModel", "allocation", "LinModel_evaloutput"] 89.296 ns (5%)
["SimModel", "allocation", "LinModel_updatestate!"] 157.745 ns (5%)
["SimModel", "allocation", "NonLinModel_evaloutput"] 89.367 ns (5%)
["SimModel", "allocation", "NonLinModel_linearize!"] 3.297 μs (5%)
["SimModel", "allocation", "NonLinModel_updatestate!"] 149.463 ns (5%)

Benchmark Group List

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

  • ["SimModel", "allocation"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2620 s          0 s         93 s       3794 s          0 s
       #2     0 MHz       2494 s          0 s         86 s       3928 s          0 s
       #3     0 MHz       2418 s          0 s        119 s       3973 s          0 s
       #4     0 MHz       4210 s          0 s         95 s       2201 s          0 s
  Memory: 15.620769500732422 GB (13994.86328125 MB free)
  Uptime: 652.93 sec
  Load Avg:  1.36  1.55  0.97
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Baseline result

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

Job Properties

  • Time of benchmark: 29 Jun 2025 - 15:23
  • Package commit: b3c8b0f
  • Julia commit: 760b2e5
  • 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
["trigonometry", "circular", ("cos", "π")] 20.000 ns (5%)
["trigonometry", "circular", ("cos", 0.0)] 29.000 ns (5%)
["trigonometry", "circular", ("sin", "π")] 20.000 ns (5%)
["trigonometry", "circular", ("sin", 0.0)] 29.000 ns (5%)
["trigonometry", "circular", ("tan", "π")] 20.000 ns (5%)
["trigonometry", "circular", ("tan", 0.0)] 29.000 ns (5%)
["trigonometry", "hyperbolic", ("cos", "π")] 20.000 ns (5%)
["trigonometry", "hyperbolic", ("cos", 0.0)] 29.000 ns (5%)
["trigonometry", "hyperbolic", ("sin", "π")] 20.000 ns (5%)
["trigonometry", "hyperbolic", ("sin", 0.0)] 29.000 ns (5%)
["trigonometry", "hyperbolic", ("tan", "π")] 20.000 ns (5%)
["trigonometry", "hyperbolic", ("tan", 0.0)] 29.000 ns (5%)
["utf8", "join"] 60.941 ms (5%) 4.875 ms 379.61 MiB (1%) 39
["utf8", "replace"] 84.458 μs (5%) 11.94 KiB (1%) 4

Benchmark Group List

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

  • ["trigonometry", "circular"]
  • ["trigonometry", "hyperbolic"]
  • ["utf8"]

Julia versioninfo

Julia Version 1.11.5
Commit 760b2e5b739 (2025-04-14 06:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 24.04.2 LTS
  uname: Linux 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64
  CPU: AMD EPYC 7763 64-Core Processor: 
              speed         user         nice          sys         idle          irq
       #1     0 MHz       2649 s          0 s         94 s       3993 s          0 s
       #2     0 MHz       2648 s          0 s        108 s       3982 s          0 s
       #3     0 MHz       2427 s          0 s        119 s       4193 s          0 s
       #4     0 MHz       4229 s          0 s         96 s       2411 s          0 s
  Memory: 15.620769500732422 GB (13995.17578125 MB free)
  Uptime: 675.89 sec
  Load Avg:  1.29  1.52  0.98
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores)

Runtime information

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

lscpu output:

Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        48 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               4
On-line CPU(s) list:                  0-3
Vendor ID:                            AuthenticAMD
Model name:                           AMD EPYC 7763 64-Core Processor
CPU family:                           25
Model:                                1
Thread(s) per core:                   2
Core(s) per socket:                   2
Socket(s):                            1
Stepping:                             1
BogoMIPS:                             4890.87
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves user_shstk clzero xsaveerptr rdpru arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip vaes vpclmulqdq rdpid fsrm
Virtualization:                       AMD-V
Hypervisor vendor:                    Microsoft
Virtualization type:                  full
L1d cache:                            64 KiB (2 instances)
L1i cache:                            64 KiB (2 instances)
L2 cache:                             1 MiB (2 instances)
L3 cache:                             32 MiB (1 instance)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-3
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Vulnerable: Safe RET, no microcode
Vulnerability Spec store bypass:      Vulnerable
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected
Cpu Property Value
Brand AMD EPYC 7763 64-Core Processor
Vendor :AMD
Architecture :Unknown
Model Family: 0xaf, Model: 0x01, Stepping: 0x01, Type: 0x00
Cores 16 physical cores, 16 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 512, 32768) kbytes
64 byte cache line size
Address Size 48 bits virtual, 48 bits physical
SIMD 256 bit = 32 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC runs at constant rate (invariant from clock frequency)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@franckgaga franckgaga changed the title testing benchmarking on CI bench: added no-allocation benchmarks Jun 29, 2025
@franckgaga franckgaga changed the title bench: added no-allocation benchmarks bench: added no-allocation benchmarks on CI Jun 29, 2025
@franckgaga franckgaga changed the title bench: added no-allocation benchmarks on CI bench: added allocation benchmarks on CI Jun 29, 2025
@franckgaga
Copy link
Member Author

Weird, the benchmarks run locally without any error, but not in github actions. Might be a bug in BenchmarkCI.jl. I will try AirspeedVelocity.jl.

@franckgaga
Copy link
Member Author

Merging and re-oppening a new PR, to see if benchmark.yml will run in CI.

@franckgaga franckgaga merged commit 425b440 into main Jun 29, 2025
4 checks passed
@franckgaga franckgaga deleted the test_bench branch June 29, 2025 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants