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

CI improvements, Inference improvements for recursive functions, Downstream testing #88

Merged
merged 10 commits into from
Feb 12, 2024

Conversation

Krastanov
Copy link
Member

@Krastanov Krastanov commented Feb 6, 2024

Fixes #86
Fixes #82
Fixes #80 (actual problem was recursive functions)

@Krastanov Krastanov marked this pull request as draft February 6, 2024 14:38
Copy link

github-actions bot commented Feb 6, 2024

Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 6 Feb 2024 - 14:41
  • Baseline: 6 Feb 2024 - 14:42
  • Package commits:
  • Target: c438b0
  • Baseline: 0963f4
  • Julia commits:
  • Target: 28db6c
  • Baseline: 28db6c
  • 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
["hardcoded types", "BigInt", "Closure"] 1.12 (5%) ❌ 1.00 (1%)
["hardcoded types", "BigInt", "Iteration protocol"] 1.15 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "Iteration protocol"] 1.83 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "ResumableFunctions"] 1.82 (5%) ❌ 1.00 (1%)

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Target

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 530 s 0 s 134 s 2331 s 0 s
 #2 3295 MHz 528 s 0 s 110 s 2363 s 0 s
 #3 2445 MHz 357 s 0 s 92 s 2534 s 0 s
 #4 2601 MHz 730 s 0 s 136 s 2124 s 0 s
 Memory: 15.60690689086914 GB (13613.73828125 MB free)
 Uptime: 302.12 sec
 Load Avg: 1.03 0.68 0.3
 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.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 633 s 0 s 138 s 2626 s 0 s
 #2 3166 MHz 610 s 0 s 129 s 2664 s 0 s
 #3 2445 MHz 439 s 0 s 102 s 2843 s 0 s
 #4 2445 MHz 828 s 0 s 153 s 2411 s 0 s
 Memory: 15.60690689086914 GB (13927.703125 MB free)
 Uptime: 342.43 sec
 Load Avg: 1.01 0.72 0.33
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:41
  • Package commit: c438b0
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 184.383 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 187.308 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 56.986 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.458 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.969 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.416 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 6.136 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.737 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.816 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.229 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.545 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 175.977 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 178.461 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.416 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.688 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.647 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.940 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.163 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.349 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 61.674 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 61.367 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.262 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 530 s 0 s 134 s 2331 s 0 s
 #2 3295 MHz 528 s 0 s 110 s 2363 s 0 s
 #3 2445 MHz 357 s 0 s 92 s 2534 s 0 s
 #4 2601 MHz 730 s 0 s 136 s 2124 s 0 s
 Memory: 15.60690689086914 GB (13613.73828125 MB free)
 Uptime: 302.12 sec
 Load Avg: 1.03 0.68 0.3
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:42
  • Package commit: 0963f4
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 184.553 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 188.140 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 56.806 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.338 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.921 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.432 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.484 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.737 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.325 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.165 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.384 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 175.246 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 178.252 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.857 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 58.008 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.598 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.940 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.163 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.349 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 33.630 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.630 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.953 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 633 s 0 s 138 s 2626 s 0 s
 #2 3166 MHz 610 s 0 s 129 s 2664 s 0 s
 #3 2445 MHz 439 s 0 s 102 s 2843 s 0 s
 #4 2445 MHz 828 s 0 s 153 s 2411 s 0 s
 Memory: 15.60690689086914 GB (13927.703125 MB free)
 Uptime: 342.43 sec
 Load Avg: 1.01 0.72 0.33
 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 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 invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves 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 Retbleed: Not affected
Vulnerability Spec rstack overflow: Mitigation; 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
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
Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 6 Feb 2024 - 14:47
  • Baseline: 6 Feb 2024 - 14:48
  • Package commits:
  • Target: e83375
  • Baseline: 0963f4
  • Julia commits:
  • Target: 28db6c
  • Baseline: 28db6c
  • 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
["hardcoded types", "BigInt", "Closure"] 1.13 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "Closure statemachine"] 0.55 (5%) ✅ 1.00 (1%)
["hardcoded types", "Int64", "Iteration protocol"] 1.82 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "ResumableFunctions"] 1.81 (5%) ❌ 1.00 (1%)

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Target

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 654 s 0 s 136 s 1764 s 0 s
 #2 3244 MHz 334 s 0 s 80 s 2134 s 0 s
 #3 3088 MHz 543 s 0 s 130 s 1879 s 0 s
 #4 2594 MHz 618 s 0 s 132 s 1792 s 0 s
 Memory: 15.60690689086914 GB (13656.0 MB free)
 Uptime: 257.47 sec
 Load Avg: 1.03 0.67 0.29
 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.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3254 MHz 935 s 0 s 167 s 1873 s 0 s
 #2 3242 MHz 399 s 0 s 91 s 2479 s 0 s
 #3 3038 MHz 559 s 0 s 134 s 2280 s 0 s
 #4 2445 MHz 637 s 0 s 136 s 2188 s 0 s
 Memory: 15.60690689086914 GB (13954.55078125 MB free)
 Uptime: 299.66 sec
 Load Avg: 1.02 0.71 0.32
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:47
  • Package commit: e83375
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 186.036 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 190.355 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 56.765 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.078 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.960 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.404 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 6.153 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.742 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.792 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.213 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.475 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 175.767 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 177.841 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.746 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.928 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.647 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.940 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.163 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.349 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 61.674 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 61.368 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.352 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 654 s 0 s 136 s 1764 s 0 s
 #2 3244 MHz 334 s 0 s 80 s 2134 s 0 s
 #3 3088 MHz 543 s 0 s 130 s 1879 s 0 s
 #4 2594 MHz 618 s 0 s 132 s 1792 s 0 s
 Memory: 15.60690689086914 GB (13656.0 MB free)
 Uptime: 257.47 sec
 Load Avg: 1.03 0.67 0.29
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:48
  • Package commit: 0963f4
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 184.293 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 187.729 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 57.176 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.589 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.927 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.413 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.443 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.768 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.832 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.202 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.475 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 176.098 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 177.130 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.727 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.898 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.537 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 61.373 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.135 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.198 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 33.936 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.936 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.322 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3254 MHz 935 s 0 s 167 s 1873 s 0 s
 #2 3242 MHz 399 s 0 s 91 s 2479 s 0 s
 #3 3038 MHz 559 s 0 s 134 s 2280 s 0 s
 #4 2445 MHz 637 s 0 s 136 s 2188 s 0 s
 Memory: 15.60690689086914 GB (13954.55078125 MB free)
 Uptime: 299.66 sec
 Load Avg: 1.02 0.71 0.32
 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 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 invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves 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 Retbleed: Not affected
Vulnerability Spec rstack overflow: Mitigation; 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
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
Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 6 Feb 2024 - 14:55
  • Baseline: 6 Feb 2024 - 14:55
  • Package commits:
  • Target: ee3c47
  • Baseline: 0963f4
  • Julia commits:
  • Target: 28db6c
  • Baseline: 28db6c
  • 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
["hardcoded types", "BigInt", "Closure optimized"] 1.31 (5%) ❌ 1.00 (1%)
["hardcoded types", "BigInt", "Closure"] 1.06 (5%) ❌ 1.00 (1%)
["hardcoded types", "BigInt", "ResumableFunctions"] 1.14 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "Closure statemachine"] 0.55 (5%) ✅ 1.00 (1%)
["hardcoded types", "Int64", "Iteration protocol"] 1.82 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "ResumableFunctions"] 1.81 (5%) ❌ 1.00 (1%)

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Target

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 511 s 0 s 108 s 2272 s 0 s
 #2 3283 MHz 787 s 0 s 160 s 1950 s 0 s
 #3 2752 MHz 294 s 0 s 83 s 2523 s 0 s
 #4 3207 MHz 545 s 0 s 124 s 2234 s 0 s
 Memory: 15.60690689086914 GB (13626.203125 MB free)
 Uptime: 293.08 sec
 Load Avg: 1.0 0.6 0.25
 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.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 593 s 0 s 114 s 2594 s 0 s
 #2 2445 MHz 788 s 0 s 163 s 2357 s 0 s
 #3 3041 MHz 460 s 0 s 114 s 2737 s 0 s
 #4 2445 MHz 669 s 0 s 134 s 2510 s 0 s
 Memory: 15.60690689086914 GB (13966.6796875 MB free)
 Uptime: 334.23 sec
 Load Avg: 1.0 0.65 0.29
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:55
  • Package commit: ee3c47
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 184.875 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 188.852 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 57.037 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.789 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 5.125 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.455 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.824 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.726 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.826 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.852 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 30.056 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 176.599 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 179.485 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.606 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.868 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.507 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.940 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.079 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.349 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 61.674 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 61.368 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.201 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 511 s 0 s 108 s 2272 s 0 s
 #2 3283 MHz 787 s 0 s 160 s 1950 s 0 s
 #3 2752 MHz 294 s 0 s 83 s 2523 s 0 s
 #4 3207 MHz 545 s 0 s 124 s 2234 s 0 s
 Memory: 15.60690689086914 GB (13626.203125 MB free)
 Uptime: 293.08 sec
 Load Avg: 1.0 0.6 0.25
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:55
  • Package commit: 0963f4
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 183.653 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 188.251 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 57.246 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.529 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.911 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.403 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.494 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.765 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.822 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.249 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.345 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 175.928 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 176.810 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.326 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.557 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.537 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 61.373 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.107 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.198 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 33.936 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.936 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.192 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 593 s 0 s 114 s 2594 s 0 s
 #2 2445 MHz 788 s 0 s 163 s 2357 s 0 s
 #3 3041 MHz 460 s 0 s 114 s 2737 s 0 s
 #4 2445 MHz 669 s 0 s 134 s 2510 s 0 s
 Memory: 15.60690689086914 GB (13966.6796875 MB free)
 Uptime: 334.23 sec
 Load Avg: 1.0 0.65 0.29
 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 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 invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves 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 Retbleed: Not affected
Vulnerability Spec rstack overflow: Mitigation; 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
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
Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 6 Feb 2024 - 14:58
  • Baseline: 6 Feb 2024 - 14:59
  • Package commits:
  • Target: 4a734b
  • Baseline: 0963f4
  • Julia commits:
  • Target: 28db6c
  • Baseline: 28db6c
  • 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
["hardcoded types", "BigInt", "Closure optimized"] 0.89 (5%) ✅ 1.00 (1%)
["hardcoded types", "BigInt", "Direct"] 0.91 (5%) ✅ 1.00 (1%)
["hardcoded types", "BigInt", "ResumableFunctions"] 0.94 (5%) ✅ 1.00 (1%)
["hardcoded types", "Int64", "Channels csize=20"] 0.94 (5%) ✅ 1.00 (1%)
["hardcoded types", "Int64", "Closure statemachine"] 1.81 (5%) ❌ 1.00 (1%)
["hardcoded types", "Int64", "Iteration protocol"] 1.09 (5%) ❌ 1.00 (1%)

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Target

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 761 s 0 s 153 s 1935 s 0 s
 #2 2445 MHz 535 s 0 s 131 s 2176 s 0 s
 #3 2604 MHz 411 s 0 s 88 s 2346 s 0 s
 #4 2445 MHz 419 s 0 s 109 s 2324 s 0 s
 Memory: 15.60690689086914 GB (13656.1875 MB free)
 Uptime: 287.45 sec
 Load Avg: 1.08 0.64 0.27
 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.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 809 s 0 s 158 s 2298 s 0 s
 #2 3229 MHz 560 s 0 s 137 s 2560 s 0 s
 #3 2445 MHz 536 s 0 s 108 s 2617 s 0 s
 #4 3150 MHz 597 s 0 s 134 s 2537 s 0 s
 Memory: 15.60690689086914 GB (13948.7890625 MB free)
 Uptime: 329.08 sec
 Load Avg: 1.04 0.69 0.3
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:58
  • Package commit: 4a734b
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 186.347 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 190.005 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 56.836 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.549 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.466 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.452 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.599 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.389 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.828 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 3.909 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.956 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 177.431 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 179.544 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.766 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 53.951 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.537 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 61.368 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.192 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.198 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 33.940 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.940 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.623 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 761 s 0 s 153 s 1935 s 0 s
 #2 2445 MHz 535 s 0 s 131 s 2176 s 0 s
 #3 2604 MHz 411 s 0 s 88 s 2346 s 0 s
 #4 2445 MHz 419 s 0 s 109 s 2324 s 0 s
 Memory: 15.60690689086914 GB (13656.1875 MB free)
 Uptime: 287.45 sec
 Load Avg: 1.08 0.64 0.27
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 14:59
  • Package commit: 0963f4
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 185.195 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 188.280 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 57.317 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.729 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.909 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.408 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.423 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.739 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.827 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.168 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.235 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 177.170 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 177.932 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 52.067 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.667 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.587 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.936 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.107 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.349 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 31.004 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.637 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.332 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3242 MHz 809 s 0 s 158 s 2298 s 0 s
 #2 3229 MHz 560 s 0 s 137 s 2560 s 0 s
 #3 2445 MHz 536 s 0 s 108 s 2617 s 0 s
 #4 3150 MHz 597 s 0 s 134 s 2537 s 0 s
 Memory: 15.60690689086914 GB (13948.7890625 MB free)
 Uptime: 329.08 sec
 Load Avg: 1.04 0.69 0.3
 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 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 invpcid_single vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves 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 Retbleed: Not affected
Vulnerability Spec rstack overflow: Mitigation; 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
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
Benchmark Result

Judge result

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

Job Properties

  • Time of benchmarks:
  • Target: 6 Feb 2024 - 15:15
  • Baseline: 6 Feb 2024 - 15:15
  • Package commits:
  • Target: 1b6157
  • Baseline: 0963f4
  • Julia commits:
  • Target: 28db6c
  • Baseline: 28db6c
  • 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
["hardcoded types", "BigInt", "Closure optimized"] 1.16 (5%) ❌ 1.00 (1%)
["hardcoded types", "BigInt", "Closure statemachine"] 1.13 (5%) ❌ 1.00 (1%)
["hardcoded types", "BigInt", "Closure"] 1.13 (5%) ❌ 1.00 (1%)

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Target

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 503 s 0 s 141 s 2323 s 0 s
 #2 2445 MHz 612 s 0 s 116 s 2235 s 0 s
 #3 3264 MHz 756 s 0 s 144 s 2058 s 0 s
 #4 3243 MHz 330 s 0 s 83 s 2558 s 0 s
 Memory: 15.606903076171875 GB (13610.6484375 MB free)
 Uptime: 299.55 sec
 Load Avg: 1.04 0.69 0.31
 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.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 3243 MHz 624 s 0 s 161 s 2614 s 0 s
 #2 3241 MHz 658 s 0 s 123 s 2614 s 0 s
 #3 2608 MHz 841 s 0 s 153 s 2396 s 0 s
 #4 2748 MHz 470 s 0 s 102 s 2831 s 0 s
 Memory: 15.606903076171875 GB (13929.82421875 MB free)
 Uptime: 342.83 sec
 Load Avg: 1.06 0.75 0.35
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 15:15
  • Package commit: 1b6157
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 185.996 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 188.261 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 57.337 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.999 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.949 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 4.424 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.991 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.767 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.823 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.242 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 30.597 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 176.087 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 178.531 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.625 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 57.677 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.585 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.940 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.023 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.348 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 33.626 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.636 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.473 μs (5%) 2.03 KiB (1%) 85

Benchmark Group List

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

  • ["hardcoded types", "BigInt"]
  • ["hardcoded types", "Int64"]

Julia versioninfo

Julia Version 1.11.0-DEV.1475
Commit 28db6c7a115 (2024-02-05 22:36 UTC)
Build Info:
 Official https://julialang.org/ release
Platform Info:
 OS: Linux (x86_64-linux-gnu)
 Ubuntu 22.04.3 LTS
 uname: Linux 6.2.0-1019-azure #19~22.04.1-Ubuntu SMP Wed Jan 10 22:57:03 UTC 2024 x86_64 x86_64
 CPU: AMD EPYC 7763 64-Core Processor: 
 speed user nice sys idle irq
 #1 2445 MHz 503 s 0 s 141 s 2323 s 0 s
 #2 2445 MHz 612 s 0 s 116 s 2235 s 0 s
 #3 3264 MHz 756 s 0 s 144 s 2058 s 0 s
 #4 3243 MHz 330 s 0 s 83 s 2558 s 0 s
 Memory: 15.606903076171875 GB (13610.6484375 MB free)
 Uptime: 299.55 sec
 Load Avg: 1.04 0.69 0.31
 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/ResumableFunctions.jl/ResumableFunctions.jl

Job Properties

  • Time of benchmark: 6 Feb 2024 - 15:15
  • Package commit: 0963f4
  • Julia commit: 28db6c
  • 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
["hardcoded types", "BigInt", "Channels csize=0"] 184.693 μs (5%) 7.69 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=1"] 188.550 μs (5%) 7.75 KiB (1%) 312
["hardcoded types", "BigInt", "Channels csize=100"] 57.176 μs (5%) 9.56 KiB (1%) 314
["hardcoded types", "BigInt", "Channels csize=20"] 63.588 μs (5%) 8.11 KiB (1%) 313
["hardcoded types", "BigInt", "Closure optimized"] 3.408 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Closure statemachine"] 3.907 μs (5%) 4.53 KiB (1%) 195
["hardcoded types", "BigInt", "Closure"] 5.320 μs (5%) 4.47 KiB (1%) 192
["hardcoded types", "BigInt", "Direct"] 3.741 μs (5%) 4.39 KiB (1%) 188
["hardcoded types", "BigInt", "Iteration protocol"] 3.818 μs (5%) 4.48 KiB (1%) 191
["hardcoded types", "BigInt", "ResumableFunctions"] 4.189 μs (5%) 4.50 KiB (1%) 191
["hardcoded types", "BigInt", "Task scheduling"] 29.204 μs (5%) 5.25 KiB (1%) 197
["hardcoded types", "Int64", "Channels csize=0"] 174.514 μs (5%) 3.02 KiB (1%) 107
["hardcoded types", "Int64", "Channels csize=1"] 178.512 μs (5%) 1.86 KiB (1%) 29
["hardcoded types", "Int64", "Channels csize=100"] 51.986 μs (5%) 3.67 KiB (1%) 31
["hardcoded types", "Int64", "Channels csize=20"] 58.078 μs (5%) 2.22 KiB (1%) 30
["hardcoded types", "Int64", "Closure optimized"] 17.765 ns (5%)
["hardcoded types", "Int64", "Closure statemachine"] 33.940 ns (5%)
["hardcoded types", "Int64", "Closure"] 2.106 μs (5%) 1.28 KiB (1%) 82
["hardcoded types", "Int64", "Direct"] 18.349 ns (5%)
["hardcoded types", "Int64", "Iteration protocol"] 33.626 ns (5%)
["hardcoded types", "Int64", "ResumableFunctions"] 33.627 ns (5%)
["hardcoded types", "Int64", "Task scheduling"] 17.3...[Comment body truncated]

@codecov-commenter
Copy link

codecov-commenter commented Feb 6, 2024

Codecov Report

Attention: 10 lines in your changes are missing coverage. Please review.

Comparison is base (0963f41) 85.93% compared to head (6888499) 84.39%.

Files Patch % Lines
src/utils.jl 87.09% 8 Missing ⚠️
src/macro.jl 93.54% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
- Coverage   85.93%   84.39%   -1.54%     
==========================================
  Files           5        5              
  Lines         320      391      +71     
==========================================
+ Hits          275      330      +55     
- Misses         45       61      +16     

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

@Krastanov Krastanov force-pushed the ciupdatesandinferencefixes branch 3 times, most recently from d8f2616 to 63edc75 Compare February 6, 2024 19:22
@Krastanov Krastanov changed the title CI improvements CI improvements, Inference improvements for recursive functions, Downstream testing Feb 6, 2024
@Krastanov Krastanov marked this pull request as ready for review February 6, 2024 19:23
@Krastanov
Copy link
Member Author

@gerlero , I reapplied the improvements from 0.6.6, added donwnstream testing, and improved the CI a bit. Could you look through it -- should be fairly minor changes.

@pepijndevos , the changes you made to improve inference seem to cause a crash in the compiler when recursive resumable functions are employed. There is probably an elegant way to solve this, but for the moment I simply disabled your improvements when a recursive function is detected. Could you skim through the commit that makes that change? Please do not hesitate to file issues with ideas of how to do this in a better way.

Here are the newly added tests specifically for recursive functions

The commits are meant to be read separately, not squashed on merge. Hopefully that would make reviewing much easier as the vast majority of added lines are simply for CI configuration.

@Krastanov
Copy link
Member Author

The downstream failures for QuantumSavory is because v0.6.6 is hardcoded requirement for it (until this here gets merged). It is a project of mine and I will take care of fixing it.

@pepijndevos
Copy link
Contributor

I think this is a reasonable precaution. If you think through what the generic struct would look like for a recursive function it's an infinite recursion at the type level, and the way we do it also results in basically a function with infinite arguments.

@gerlero
Copy link
Member

gerlero commented Feb 6, 2024

@gerlero , I reapplied the improvements from 0.6.6, added donwnstream testing, and improved the CI a bit. Could you look through it -- should be fairly minor changes.

@Krastanov Sure! I'll review it in the next few days.

Copy link
Member

@gerlero gerlero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I'd add that couple of @test macros, but AFAIC this can be merged.

.github/workflows/breakage.yml Outdated Show resolved Hide resolved
test/test_repeated_variable.jl Outdated Show resolved Hide resolved
test/test_repeated_variable.jl Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
src/macro.jl Outdated Show resolved Hide resolved
@Krastanov Krastanov merged commit bd9557e into master Feb 12, 2024
21 of 22 checks passed
@Krastanov Krastanov deleted the ciupdatesandinferencefixes branch February 12, 2024 02:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants