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

Feat 13 welfare #156

Merged
merged 25 commits into from
Jun 14, 2023
Merged

Feat 13 welfare #156

merged 25 commits into from
Jun 14, 2023

Conversation

Ethan-Russell
Copy link
Member

  • Added more formulas
  • Parse objective coefficients after solving
  • Add regulatory factor
  • Add the ability to add to results formulas

@github-actions
Copy link

github-actions bot commented Jun 6, 2023

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 6 Jun 2023 - 13:56
    • Baseline: 6 Jun 2023 - 13:58
  • Package commits:
    • Target: ef1186
    • Baseline: 5a9e03
  • Julia commits:
    • Target: 8e6305
    • Baseline: 8e6305
  • 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
["read_data"] 1.08 (5%) ❌ 1.00 (1%)
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅
["setup_model"] 0.92 (5%) ✅ 0.99 (1%)

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       4182 s          0 s        209 s       2374 s          0 s
       #2  2593 MHz       2180 s          0 s        190 s       4374 s          0 s
  Memory: 6.7812042236328125 GB (4520.328125 MB free)
  Uptime: 682.37 sec
  Load Avg:  1.01  1.05  0.62
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       5752 s          0 s        230 s       2428 s          0 s
       #2  2593 MHz       2236 s          0 s        198 s       5951 s          0 s
  Memory: 6.7812042236328125 GB (4633.3515625 MB free)
  Uptime: 847.07 sec
  Load Avg:  1.02  1.03  0.69
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 6 Jun 2023 - 13:56
  • Package commit: ef1186
  • Julia commit: 8e6305
  • 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
["get_af"] 104.564 ns (5%) 32 bytes (1%) 2
["get_generator"] 56.632 ns (5%) 48 bytes (1%) 1
["get_plnom"] 125.039 ns (5%) 48 bytes (1%) 3
["read_data"] 41.000 ms (5%) 9.57 MiB (1%) 325236
["run_e4st"] 115.324 ms (5%) 7.802 ms 83.93 MiB (1%) 370355
["setup_model"] 1.738 s (5%) 433.335 ms 977.33 MiB (1%) 13212011

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       4182 s          0 s        209 s       2374 s          0 s
       #2  2593 MHz       2180 s          0 s        190 s       4374 s          0 s
  Memory: 6.7812042236328125 GB (4520.328125 MB free)
  Uptime: 682.37 sec
  Load Avg:  1.01  1.05  0.62
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 6 Jun 2023 - 13:58
  • Package commit: 5a9e03
  • Julia commit: 8e6305
  • 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
["get_af"] 104.149 ns (5%) 32 bytes (1%) 2
["get_generator"] 58.737 ns (5%) 48 bytes (1%) 1
["get_plnom"] 120.864 ns (5%) 48 bytes (1%) 3
["read_data"] 38.089 ms (5%) 9.53 MiB (1%) 324442
["run_e4st"] 57.888 s (5%) 2.627 s 4.10 GiB (1%) 61868446
["setup_model"] 1.897 s (5%) 647.368 ms 982.62 MiB (1%) 13257926

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       5752 s          0 s        230 s       2428 s          0 s
       #2  2593 MHz       2236 s          0 s        198 s       5951 s          0 s
  Memory: 6.7812042236328125 GB (4633.3515625 MB free)
  Uptime: 847.07 sec
  Load Avg:  1.02  1.03  0.69
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
CPU family:                      6
Model:                           85
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        7
BogoMIPS:                        5187.81
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       64 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2 MiB (2 instances)
L3 cache:                        35.8 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Vulnerable
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x07, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@codecov
Copy link

codecov bot commented Jun 6, 2023

Codecov Report

Patch coverage: 90.62% and project coverage change: +1.55 🎉

Comparison is base (00b3559) 87.72% compared to head (ca2a465) 89.28%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #156      +/-   ##
==========================================
+ Coverage   87.72%   89.28%   +1.55%     
==========================================
  Files          46       46              
  Lines        3610     3892     +282     
==========================================
+ Hits         3167     3475     +308     
+ Misses        443      417      -26     
Impacted Files Coverage Δ
src/types/Unit.jl 100.00% <ø> (ø)
src/types/iterables/RunSequential.jl 100.00% <ø> (ø)
src/results/formulas.jl 81.74% <72.85%> (-2.95%) ⬇️
src/io/data.jl 89.93% <84.00%> (-0.48%) ⬇️
src/types/modifications/Storage.jl 94.16% <92.03%> (-0.64%) ⬇️
src/results/parse.jl 97.91% <97.77%> (-0.14%) ⬇️
src/io/util.jl 74.71% <100.00%> (+0.90%) ⬆️
src/model/dcopf.jl 92.95% <100.00%> (+0.10%) ⬆️
src/model/newgens.jl 90.90% <100.00%> (+1.81%) ⬆️
src/model/util.jl 97.46% <100.00%> (+0.13%) ⬆️
... and 12 more

... and 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@github-actions
Copy link

github-actions bot commented Jun 6, 2023

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 6 Jun 2023 - 21:38
    • Baseline: 6 Jun 2023 - 21:41
  • Package commits:
    • Target: 9387e1
    • Baseline: 5a9e03
  • Julia commits:
    • Target: 8e6305
    • Baseline: 8e6305
  • 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
["get_af"] 1.11 (5%) ❌ 1.00 (1%)
["get_generator"] 1.08 (5%) ❌ 1.00 (1%)
["get_plnom"] 1.06 (5%) ❌ 1.00 (1%)
["read_data"] 1.07 (5%) ❌ 1.01 (1%)
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅
["setup_model"] 0.94 (5%) ✅ 0.99 (1%)

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       3719 s          0 s        199 s       3672 s          0 s
       #2  2593 MHz       3130 s          0 s        214 s       4211 s          0 s
  Memory: 6.7812042236328125 GB (4527.40234375 MB free)
  Uptime: 763.83 sec
  Load Avg:  1.01  1.07  0.67
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       3775 s          0 s        206 s       5362 s          0 s
       #2  2593 MHz       4819 s          0 s        239 s       4259 s          0 s
  Memory: 6.7812042236328125 GB (4619.8828125 MB free)
  Uptime: 940.06 sec
  Load Avg:  1.02  1.06  0.74
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 6 Jun 2023 - 21:38
  • Package commit: 9387e1
  • Julia commit: 8e6305
  • 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
["get_af"] 108.486 ns (5%) 32 bytes (1%) 2
["get_generator"] 58.026 ns (5%) 48 bytes (1%) 1
["get_plnom"] 130.928 ns (5%) 48 bytes (1%) 3
["read_data"] 42.421 ms (5%) 9.59 MiB (1%) 325693
["run_e4st"] 207.959 ms (5%) 10.258 ms 98.58 MiB (1%) 417957
["setup_model"] 1.962 s (5%) 561.112 ms 977.33 MiB (1%) 13212011

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       3719 s          0 s        199 s       3672 s          0 s
       #2  2593 MHz       3130 s          0 s        214 s       4211 s          0 s
  Memory: 6.7812042236328125 GB (4527.40234375 MB free)
  Uptime: 763.83 sec
  Load Avg:  1.01  1.07  0.67
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 6 Jun 2023 - 21:41
  • Package commit: 5a9e03
  • Julia commit: 8e6305
  • 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
["get_af"] 97.819 ns (5%) 32 bytes (1%) 2
["get_generator"] 53.499 ns (5%) 48 bytes (1%) 1
["get_plnom"] 123.520 ns (5%) 48 bytes (1%) 3
["read_data"] 39.672 ms (5%) 9.53 MiB (1%) 324442
["run_e4st"] 61.960 s (5%) 3.563 s 4.10 GiB (1%) 61870817
["setup_model"] 2.088 s (5%) 774.915 ms 982.62 MiB (1%) 13257926

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       3775 s          0 s        206 s       5362 s          0 s
       #2  2593 MHz       4819 s          0 s        239 s       4259 s          0 s
  Memory: 6.7812042236328125 GB (4619.8828125 MB free)
  Uptime: 940.06 sec
  Load Avg:  1.02  1.06  0.74
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
CPU family:                      6
Model:                           85
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        7
BogoMIPS:                        5187.81
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       64 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2 MiB (2 instances)
L3 cache:                        35.8 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Vulnerable
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x07, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@github-actions
Copy link

github-actions bot commented Jun 7, 2023

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 7 Jun 2023 - 21:05
    • Baseline: 7 Jun 2023 - 21:08
  • Package commits:
    • Target: 12b183
    • Baseline: 0c2f8b
  • Julia commits:
    • Target: 8e6305
    • Baseline: 8e6305
  • 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
["read_data"] 1.06 (5%) ❌ 1.01 (1%)
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅
["setup_model"] 0.93 (5%) ✅ 0.99 (1%)

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       3898 s          0 s        192 s       3215 s          0 s
       #2  2593 MHz       2522 s          0 s        206 s       4551 s          0 s
  Memory: 6.781200408935547 GB (4564.16015625 MB free)
  Uptime: 736.29 sec
  Load Avg:  1.02  1.1  0.67
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       5495 s          0 s        214 s       3269 s          0 s
       #2  2593 MHz       2578 s          0 s        215 s       6153 s          0 s
  Memory: 6.781200408935547 GB (4689.375 MB free)
  Uptime: 903.67 sec
  Load Avg:  1.0  1.05  0.73
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 7 Jun 2023 - 21:5
  • Package commit: 12b183
  • Julia commit: 8e6305
  • 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
["get_af"] 96.275 ns (5%) 32 bytes (1%) 2
["get_generator"] 55.821 ns (5%) 48 bytes (1%) 1
["get_plnom"] 118.980 ns (5%) 48 bytes (1%) 3
["read_data"] 41.061 ms (5%) 9.60 MiB (1%) 325863
["run_e4st"] 207.585 ms (5%) 8.408 ms 99.21 MiB (1%) 437300
["setup_model"] 1.760 s (5%) 441.619 ms 977.33 MiB (1%) 13212011

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       3898 s          0 s        192 s       3215 s          0 s
       #2  2593 MHz       2522 s          0 s        206 s       4551 s          0 s
  Memory: 6.781200408935547 GB (4564.16015625 MB free)
  Uptime: 736.29 sec
  Load Avg:  1.02  1.1  0.67
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 7 Jun 2023 - 21:8
  • Package commit: 0c2f8b
  • Julia commit: 8e6305
  • 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
["get_af"] 100.121 ns (5%) 32 bytes (1%) 2
["get_generator"] 55.302 ns (5%) 48 bytes (1%) 1
["get_plnom"] 113.724 ns (5%) 48 bytes (1%) 3
["read_data"] 38.713 ms (5%) 9.53 MiB (1%) 324447
["run_e4st"] 60.087 s (5%) 2.714 s 4.20 GiB (1%) 63404765
["setup_model"] 1.888 s (5%) 649.481 ms 982.62 MiB (1%) 13257926

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.0
Commit 8e630552924 (2023-05-07 11:25 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       5495 s          0 s        214 s       3269 s          0 s
       #2  2593 MHz       2578 s          0 s        215 s       6153 s          0 s
  Memory: 6.781200408935547 GB (4689.375 MB free)
  Uptime: 903.67 sec
  Load Avg:  1.0  1.05  0.73
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
CPU family:                      6
Model:                           85
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        7
BogoMIPS:                        5187.81
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       64 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2 MiB (2 instances)
L3 cache:                        35.8 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Vulnerable
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x07, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@github-actions
Copy link

github-actions bot commented Jun 8, 2023

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 8 Jun 2023 - 17:02
    • Baseline: 8 Jun 2023 - 17:05
  • Package commits:
    • Target: 4f7909
    • Baseline: 058faa
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_af"] 1.05 (5%) ❌ 1.00 (1%)
["get_plnom"] 1.13 (5%) ❌ 1.00 (1%)
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅
["setup_model"] 0.94 (5%) ✅ 0.99 (1%)

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       4401 s          0 s        196 s       3116 s          0 s
       #2  2593 MHz       2143 s          0 s        207 s       5341 s          0 s
  Memory: 6.7812042236328125 GB (4573.15625 MB free)
  Uptime: 777.1 sec
  Load Avg:  1.11  1.08  0.65
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       5999 s          0 s        216 s       3171 s          0 s
       #2  2593 MHz       2202 s          0 s        214 s       6942 s          0 s
  Memory: 6.7812042236328125 GB (4623.8515625 MB free)
  Uptime: 944.47 sec
  Load Avg:  1.03  1.06  0.72
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 8 Jun 2023 - 17:2
  • Package commit: 4f7909
  • Julia commit: 147bdf
  • 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
["get_af"] 105.941 ns (5%) 32 bytes (1%) 2
["get_generator"] 57.748 ns (5%) 48 bytes (1%) 1
["get_plnom"] 139.471 ns (5%) 48 bytes (1%) 3
["read_data"] 41.685 ms (5%) 9.62 MiB (1%) 325915
["run_e4st"] 214.878 ms (5%) 8.367 ms 100.15 MiB (1%) 448731
["setup_model"] 1.785 s (5%) 476.277 ms 977.33 MiB (1%) 13212008

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       4401 s          0 s        196 s       3116 s          0 s
       #2  2593 MHz       2143 s          0 s        207 s       5341 s          0 s
  Memory: 6.7812042236328125 GB (4573.15625 MB free)
  Uptime: 777.1 sec
  Load Avg:  1.11  1.08  0.65
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 8 Jun 2023 - 17:5
  • Package commit: 058faa
  • Julia commit: 147bdf
  • 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
["get_af"] 100.486 ns (5%) 32 bytes (1%) 2
["get_generator"] 57.128 ns (5%) 48 bytes (1%) 1
["get_plnom"] 123.559 ns (5%) 48 bytes (1%) 3
["read_data"] 39.775 ms (5%) 9.54 MiB (1%) 324425
["run_e4st"] 59.893 s (5%) 2.800 s 4.23 GiB (1%) 63870343
["setup_model"] 1.891 s (5%) 638.638 ms 982.62 MiB (1%) 13257923

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2593 MHz       5999 s          0 s        216 s       3171 s          0 s
       #2  2593 MHz       2202 s          0 s        214 s       6942 s          0 s
  Memory: 6.7812042236328125 GB (4623.8515625 MB free)
  Uptime: 944.47 sec
  Load Avg:  1.03  1.06  0.72
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
CPU family:                      6
Model:                           85
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        7
BogoMIPS:                        5187.81
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       64 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2 MiB (2 instances)
L3 cache:                        35.8 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Vulnerable
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
Vendor :Intel
Architecture :Skylake
Model Family: 0x06, Model: 0x55, Stepping: 0x07, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (32, 1024, 36608) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

Copy link
Member

@sallyrobson sallyrobson left a comment

Choose a reason for hiding this comment

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

Thanks for adding all of that, I added a couple questions and suggestions

src/io/data.jl Show resolved Hide resolved
add_results_formula!(data, :storage, :capex_per_mwh, "capex_cost / edischarge_total", DollarsPerMWhDischarged, "Average capital cost for discharging 1 MWh of energy")

# Variable costs
add_results_formula!(data, :storage, :variable_cost, "vom_cost", Dollars, "Total variable costs for operation, including vom. One day if storage has fuel, this could include fuel also")
Copy link
Member

Choose a reason for hiding this comment

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

I think that it's worth changing this, I know that this is how it is in the results spreadsheet right now but I think that variable costs should be vom and fuel costs and any other per MWh costs. This has cause confusion for us in the past so I don't think we should call this variable cost here. Same goes for generator results

Copy link
Member Author

Choose a reason for hiding this comment

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

At the moment there aren't any fuel costs for storage, or other per MWh costs. But there is a note in the description here that fuel costs and other things might get added in eventually. For the gen table, this does have fuel_cost as well.

# Variable costs
add_results_formula!(data, :storage, :variable_cost, "vom_cost", Dollars, "Total variable costs for operation, including vom. One day if storage has fuel, this could include fuel also")
add_results_formula!(data, :storage, :variable_cost_per_mwh, "variable_cost / edischarge_total", DollarsPerMWhDischarged, "Average variable costs for operation, including vom, for discharging 1MWh from storage. One day if storage has fuel, this could include fuel also")
add_results_formula!(data, :storage, :production_subsidy, "0", Dollars, "Total production subsidy for storage")
Copy link
Member

Choose a reason for hiding this comment

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

will this get added to as policies provide subsidies? and the formula updates with that right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yep! That's the idea.

# end
# data[:gen] = gen
add_obj_term!(data, model, PerMWCap(), pol.name, oper = -)
Copy link
Member

Choose a reason for hiding this comment

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

I think something might have gotten copied or merged weird here but you have two modify_results functions and include an add_obj_term where it shouldn't be

Copy link
Member Author

Choose a reason for hiding this comment

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

Good catch, that must have been the merge. I'll fix that.

add_results_formula!(data, :gen, result_name_sym, "SumHourly($(pol.name), egen)", Dollars, "The cost of $(pol.name)")
add_to_results_formula!(data, :gen, :production_subsidy, result_name)

add_results_formula!(data, :gen, Symbol("$(pol.name)_capex_adj_total"), "SumYearly(ecap_inv_sim, $(pol.name)_capex_adj)", Dollars, "The necessary investment-based objective function penalty for having the subsidy end before the economic lifetime.")
Copy link
Member

Choose a reason for hiding this comment

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

will you add something like this for EmissionPrice as well, I had to ad a capex_adj to that as well in order to have age filters for 45Q

Copy link
Member Author

Choose a reason for hiding this comment

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

Sure, I'll make a note to do that once #141 is merged.

@github-actions
Copy link

github-actions bot commented Jun 9, 2023

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 9 Jun 2023 - 20:39
    • Baseline: 9 Jun 2023 - 20:42
  • Package commits:
    • Target: aac1b4
    • Baseline: 058faa
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_af"] 0.92 (5%) ✅ 1.00 (1%)
["get_generator"] 0.93 (5%) ✅ 1.00 (1%)
["get_plnom"] 1.12 (5%) ❌ 1.00 (1%)
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅
["setup_model"] 0.89 (5%) ✅ 0.99 (1%)

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       2504 s          0 s        220 s       5065 s          0 s
       #2  2294 MHz       5088 s          0 s        254 s       2426 s          0 s
  Memory: 6.7812042236328125 GB (4551.703125 MB free)
  Uptime: 786.12 sec
  Load Avg:  1.0  1.1  0.73
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       3452 s          0 s        236 s       5994 s          0 s
       #2  2294 MHz       6025 s          0 s        266 s       3370 s          0 s
  Memory: 6.7812042236328125 GB (4744.03515625 MB free)
  Uptime: 976.03 sec
  Load Avg:  1.01  1.06  0.79
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 9 Jun 2023 - 20:39
  • Package commit: aac1b4
  • Julia commit: 147bdf
  • 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
["get_af"] 84.450 ns (5%) 32 bytes (1%) 2
["get_generator"] 45.510 ns (5%) 48 bytes (1%) 1
["get_plnom"] 108.886 ns (5%) 48 bytes (1%) 3
["read_data"] 40.185 ms (5%) 9.63 MiB (1%) 325937
["run_e4st"] 243.745 ms (5%) 9.153 ms 101.22 MiB (1%) 455490
["setup_model"] 2.096 s (5%) 494.520 ms 977.33 MiB (1%) 13212008

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       2504 s          0 s        220 s       5065 s          0 s
       #2  2294 MHz       5088 s          0 s        254 s       2426 s          0 s
  Memory: 6.7812042236328125 GB (4551.703125 MB free)
  Uptime: 786.12 sec
  Load Avg:  1.0  1.1  0.73
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 9 Jun 2023 - 20:42
  • Package commit: 058faa
  • Julia commit: 147bdf
  • 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
["get_af"] 91.555 ns (5%) 32 bytes (1%) 2
["get_generator"] 48.878 ns (5%) 48 bytes (1%) 1
["get_plnom"] 97.179 ns (5%) 48 bytes (1%) 3
["read_data"] 38.963 ms (5%) 9.55 MiB (1%) 324450
["run_e4st"] 70.952 s (5%) 3.094 s 4.23 GiB (1%) 63973865
["setup_model"] 2.361 s (5%) 747.836 ms 982.62 MiB (1%) 13257923

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       3452 s          0 s        236 s       5994 s          0 s
       #2  2294 MHz       6025 s          0 s        266 s       3370 s          0 s
  Memory: 6.7812042236328125 GB (4744.03515625 MB free)
  Uptime: 976.03 sec
  Load Avg:  1.01  1.06  0.79
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

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

@github-actions
Copy link

github-actions bot commented Jun 9, 2023

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 9 Jun 2023 - 21:08
    • Baseline: 9 Jun 2023 - 21:11
  • Package commits:
    • Target: ef3b33
    • Baseline: 43baee
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_generator"] 1.07 (5%) ❌ 1.00 (1%)
["read_data"] 1.05 (5%) ❌ 1.01 (1%)
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       2893 s          0 s        211 s       4272 s          0 s
       #2  2095 MHz       4725 s          0 s        246 s       2412 s          0 s
  Memory: 6.7812042236328125 GB (4730.2109375 MB free)
  Uptime: 745.76 sec
  Load Avg:  1.24  1.17  0.75
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       2951 s          0 s        221 s       6166 s          0 s
       #2  2095 MHz       6622 s          0 s        272 s       2460 s          0 s
  Memory: 6.7812042236328125 GB (4675.8359375 MB free)
  Uptime: 942.95 sec
  Load Avg:  1.02  1.11  0.83
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 9 Jun 2023 - 21:8
  • Package commit: ef3b33
  • Julia commit: 147bdf
  • 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
["get_af"] 130.563 ns (5%) 32 bytes (1%) 2
["get_generator"] 73.382 ns (5%) 48 bytes (1%) 1
["get_plnom"] 155.543 ns (5%) 48 bytes (1%) 3
["read_data"] 49.939 ms (5%) 9.63 MiB (1%) 326012
["run_e4st"] 280.667 ms (5%) 9.351 ms 101.36 MiB (1%) 458607
["setup_model"] 2.202 s (5%) 672.071 ms 977.33 MiB (1%) 13212012

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       2893 s          0 s        211 s       4272 s          0 s
       #2  2095 MHz       4725 s          0 s        246 s       2412 s          0 s
  Memory: 6.7812042236328125 GB (4730.2109375 MB free)
  Uptime: 745.76 sec
  Load Avg:  1.24  1.17  0.75
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 9 Jun 2023 - 21:11
  • Package commit: 43baee
  • Julia commit: 147bdf
  • 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
["get_af"] 135.380 ns (5%) 32 bytes (1%) 2
["get_generator"] 68.761 ns (5%) 48 bytes (1%) 1
["get_plnom"] 150.603 ns (5%) 48 bytes (1%) 3
["read_data"] 47.408 ms (5%) 9.55 MiB (1%) 324493
["run_e4st"] 72.883 s (5%) 2.960 s 4.29 GiB (1%) 64857304
["setup_model"] 2.209 s (5%) 729.475 ms 982.63 MiB (1%) 13257927

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz: 
              speed         user         nice          sys         idle          irq
       #1  2095 MHz       2951 s          0 s        221 s       6166 s          0 s
       #2  2095 MHz       6622 s          0 s        272 s       2460 s          0 s
  Memory: 6.7812042236328125 GB (4675.8359375 MB free)
  Uptime: 942.95 sec
  Load Avg:  1.02  1.11  0.83
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

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

@github-actions
Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 12 Jun 2023 - 15:10
    • Baseline: 12 Jun 2023 - 15:13
  • Package commits:
    • Target: 9a5f8a
    • Baseline: 43baee
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_af"] 1.07 (5%) ❌ 1.00 (1%)
["get_generator"] 1.32 (5%) ❌ 1.00 (1%)
["get_plnom"] 1.15 (5%) ❌ 1.00 (1%)
["read_data"] 0.98 (5%) 1.01 (1%) ❌
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       4288 s          0 s        196 s       2763 s          0 s
       #2  2294 MHz       3118 s          0 s        255 s       3843 s          0 s
  Memory: 6.7812042236328125 GB (4645.46875 MB free)
  Uptime: 733.32 sec
  Load Avg:  1.0  1.09  0.71
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       5453 s          0 s        209 s       3515 s          0 s
       #2  2294 MHz       3875 s          0 s        274 s       4998 s          0 s
  Memory: 6.7812042236328125 GB (4656.4375 MB free)
  Uptime: 926.9 sec
  Load Avg:  1.0  1.04  0.78
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 12 Jun 2023 - 15:10
  • Package commit: 9a5f8a
  • Julia commit: 147bdf
  • 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
["get_af"] 101.470 ns (5%) 32 bytes (1%) 2
["get_generator"] 61.024 ns (5%) 48 bytes (1%) 1
["get_plnom"] 121.162 ns (5%) 48 bytes (1%) 3
["read_data"] 44.722 ms (5%) 9.68 MiB (1%) 328200
["run_e4st"] 265.962 ms (5%) 11.004 ms 102.04 MiB (1%) 478077
["setup_model"] 2.286 s (5%) 657.148 ms 988.98 MiB (1%) 13349265

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       4288 s          0 s        196 s       2763 s          0 s
       #2  2294 MHz       3118 s          0 s        255 s       3843 s          0 s
  Memory: 6.7812042236328125 GB (4645.46875 MB free)
  Uptime: 733.32 sec
  Load Avg:  1.0  1.09  0.71
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 12 Jun 2023 - 15:13
  • Package commit: 43baee
  • Julia commit: 147bdf
  • 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
["get_af"] 95.156 ns (5%) 32 bytes (1%) 2
["get_generator"] 46.395 ns (5%) 48 bytes (1%) 1
["get_plnom"] 104.918 ns (5%) 48 bytes (1%) 3
["read_data"] 45.636 ms (5%) 9.55 MiB (1%) 324493
["run_e4st"] 68.049 s (5%) 3.238 s 4.27 GiB (1%) 64609071
["setup_model"] 2.360 s (5%) 782.882 ms 982.63 MiB (1%) 13257927

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz: 
              speed         user         nice          sys         idle          irq
       #1  2294 MHz       5453 s          0 s        209 s       3515 s          0 s
       #2  2294 MHz       3875 s          0 s        274 s       4998 s          0 s
  Memory: 6.7812042236328125 GB (4656.4375 MB free)
  Uptime: 926.9 sec
  Load Avg:  1.0  1.04  0.78
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, broadwell)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

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

@github-actions
Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 13 Jun 2023 - 21:18
    • Baseline: 13 Jun 2023 - 21:21
  • Package commits:
    • Target: 30b7c9
    • Baseline: 43baee
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_af"] 1.09 (5%) ❌ 1.00 (1%)
["get_generator"] 1.45 (5%) ❌ 1.00 (1%)
["get_plnom"] 1.18 (5%) ❌ 1.00 (1%)
["read_data"] 1.34 (5%) ❌ 1.04 (1%) ❌
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅
["setup_model"] 1.52 (5%) ❌ 1.01 (1%)

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2002 s          0 s        188 s       4905 s          0 s
       #2  2793 MHz       5101 s          0 s        238 s       1751 s          0 s
  Memory: 6.7812042236328125 GB (4707.3671875 MB free)
  Uptime: 718.7 sec
  Load Avg:  1.01  1.12  0.76
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2067 s          0 s        195 s       6526 s          0 s
       #2  2793 MHz       6720 s          0 s        258 s       1812 s          0 s
  Memory: 6.7812042236328125 GB (4666.34765625 MB free)
  Uptime: 888.69 sec
  Load Avg:  1.01  1.07  0.81
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 13 Jun 2023 - 21:18
  • Package commit: 30b7c9
  • Julia commit: 147bdf
  • 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
["get_af"] 107.275 ns (5%) 32 bytes (1%) 2
["get_generator"] 75.286 ns (5%) 48 bytes (1%) 1
["get_plnom"] 139.431 ns (5%) 48 bytes (1%) 3
["read_data"] 50.221 ms (5%) 9.98 MiB (1%) 334441
["run_e4st"] 290.245 ms (5%) 11.697 ms 102.31 MiB (1%) 491983
["setup_model"] 2.536 s (5%) 919.184 ms 988.98 MiB (1%) 13349265

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2002 s          0 s        188 s       4905 s          0 s
       #2  2793 MHz       5101 s          0 s        238 s       1751 s          0 s
  Memory: 6.7812042236328125 GB (4707.3671875 MB free)
  Uptime: 718.7 sec
  Load Avg:  1.01  1.12  0.76
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 13 Jun 2023 - 21:21
  • Package commit: 43baee
  • Julia commit: 147bdf
  • 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
["get_af"] 98.766 ns (5%) 32 bytes (1%) 2
["get_generator"] 51.921 ns (5%) 48 bytes (1%) 1
["get_plnom"] 117.871 ns (5%) 48 bytes (1%) 3
["read_data"] 37.556 ms (5%) 9.55 MiB (1%) 324493
["run_e4st"] 61.229 s (5%) 2.414 s 4.29 GiB (1%) 64823930
["setup_model"] 1.674 s (5%) 559.276 ms 982.63 MiB (1%) 13257927

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1039-azure #46-Ubuntu SMP Mon May 22 15:18:07 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2067 s          0 s        195 s       6526 s          0 s
       #2  2793 MHz       6720 s          0 s        258 s       1812 s          0 s
  Memory: 6.7812042236328125 GB (4666.34765625 MB free)
  Uptime: 888.69 sec
  Load Avg:  1.01  1.07  0.81
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
CPU family:                      6
Model:                           106
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        6
BogoMIPS:                        5586.87
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       96 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2.5 MiB (2 instances)
L3 cache:                        48 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Not affected
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Vendor :Intel
Architecture :UnknownIntel
Model Family: 0x06, Model: 0x6a, Stepping: 0x06, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (48, 1280, 49152) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@Ethan-Russell
Copy link
Member Author

Closes #159
Closes #160

@github-actions
Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 14 Jun 2023 - 13:15
    • Baseline: 14 Jun 2023 - 13:17
  • Package commits:
    • Target: 1c3f55
    • Baseline: 43baee
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_af"] 1.09 (5%) ❌ 1.00 (1%)
["get_generator"] 1.07 (5%) ❌ 1.00 (1%)
["read_data"] 1.10 (5%) ❌ 1.04 (1%) ❌
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2371 s          0 s        188 s       3502 s          0 s
       #2  2793 MHz       4159 s          0 s        206 s       1684 s          0 s
  Memory: 6.7812042236328125 GB (4656.69921875 MB free)
  Uptime: 611.08 sec
  Load Avg:  1.01  1.07  0.65
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2833 s          0 s        203 s       4682 s          0 s
       #2  2793 MHz       5343 s          0 s        215 s       2152 s          0 s
  Memory: 6.7812042236328125 GB (4722.91796875 MB free)
  Uptime: 777.34 sec
  Load Avg:  1.0  1.04  0.71
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 14 Jun 2023 - 13:15
  • Package commit: 1c3f55
  • Julia commit: 147bdf
  • 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
["get_af"] 105.127 ns (5%) 32 bytes (1%) 2
["get_generator"] 57.216 ns (5%) 48 bytes (1%) 1
["get_plnom"] 119.857 ns (5%) 48 bytes (1%) 3
["read_data"] 40.671 ms (5%) 9.98 MiB (1%) 334466
["run_e4st"] 222.584 ms (5%) 7.978 ms 102.33 MiB (1%) 492514
["setup_model"] 1.612 s (5%) 395.956 ms 988.98 MiB (1%) 13349265

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2371 s          0 s        188 s       3502 s          0 s
       #2  2793 MHz       4159 s          0 s        206 s       1684 s          0 s
  Memory: 6.7812042236328125 GB (4656.69921875 MB free)
  Uptime: 611.08 sec
  Load Avg:  1.01  1.07  0.65
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 14 Jun 2023 - 13:17
  • Package commit: 43baee
  • Julia commit: 147bdf
  • 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
["get_af"] 96.735 ns (5%) 32 bytes (1%) 2
["get_generator"] 53.270 ns (5%) 48 bytes (1%) 1
["get_plnom"] 117.570 ns (5%) 48 bytes (1%) 3
["read_data"] 36.851 ms (5%) 9.55 MiB (1%) 324468
["run_e4st"] 60.131 s (5%) 2.279 s 4.27 GiB (1%) 64581701
["setup_model"] 1.671 s (5%) 561.014 ms 982.63 MiB (1%) 13257927

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2833 s          0 s        203 s       4682 s          0 s
       #2  2793 MHz       5343 s          0 s        215 s       2152 s          0 s
  Memory: 6.7812042236328125 GB (4722.91796875 MB free)
  Uptime: 777.34 sec
  Load Avg:  1.0  1.04  0.71
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
CPU family:                      6
Model:                           106
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        6
BogoMIPS:                        5586.87
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       96 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2.5 MiB (2 instances)
L3 cache:                        48 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Not affected
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Vendor :Intel
Architecture :UnknownIntel
Model Family: 0x06, Model: 0x6a, Stepping: 0x06, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (48, 1280, 49152) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

src/io/util.jl Show resolved Hide resolved
year < year_on_min && continue
year > year_on_max && continue
#populate newgen_row with specs
newgen_row = Dict{}(:bus_idx => bus_idx, (spec_name=>spec_row[spec_name] for spec_name in spec_names)...)

#set year_on and off
newgen_row[:year_on] = year
newgen_row[:year_shutdown] = add_to_year(year, spec_row.age_shutdown)
newgen_row[:year_unbuilt] = get(years, yr_idx - 1, config[:year_gen_data])
newgen_row[:year_shutdown] = "y9999" # add_to_year(year, spec_row.age_shutdown)
Copy link
Member

Choose a reason for hiding this comment

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

I think this makes sense to do but I'm wondering if we should remove age_shutdown from the build_gen table then.

gen,total_cost_prelim_per_mwh,total_cost / egen_total,DollarsPerMWhGenerated,"Average cost of producing a MWh of power, including pst investment costs and subsidies"
gen,net_total_revenue_prelim,electricity_revenue - total_cost_prelim,Dollars,"Preliminary net total revenue, including electricity revenue minus total cost, before adjusting for cost-of-service rebates"
gen,cost_of_service_rebate,CostOfServiceRebate(gen),Dollars,"This is a specially calculated result, which is the sum of net_total_revenue_prelim * reg_factor for each generator"
gen,total_cost,total_cost_prelim + cost_of_service_rebate,Dollars,Total cost of production including the preliminary total cost and the cost of service rebate to consumers.
Copy link
Member

Choose a reason for hiding this comment

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

flagging that I made a total_cost formula in mainline pol that is just variable cost + fixed cost, no subsidies or adjustments. This is needed for the IRA nuclear ptc but we could call it something else. I just want to make sure that exists as a result and that the IRANuclearPTC modify_results function is updated to whatever we call that version of total cost.

Copy link
Member Author

Choose a reason for hiding this comment

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

I believe you could get away with using production_cost for that instead of total_cost. Let me know what you think.

src/results/results_formulas.csv Outdated Show resolved Hide resolved
total_result_sym = Symbol(total_result_name)

# calculate objective policy cost (based on capacity in each sim year)
add_results_formula!(data, :gen, total_result_sym, "SumYearly($(pol.name),ecap_inv_sim)", Dollars, "The cost of $(pol.name) as seen by the objective, not used for gov spending welfare")
Copy link
Member

Choose a reason for hiding this comment

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

did you want this to be in modify_model?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes. Technically it doesn't matter where results formulas are added, as long as it is before compute_result is called. It could even be within setup_raw_data. I did it early in this case because I needed it in parse_results! for the past capex calculation for saving the future gen table. Other options here include moving the saving of the updated gen table to be after process_results! rather than parse_results!.

Let me know what you think on this.

Copy link
Member

Choose a reason for hiding this comment

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

I'm fine with how this is

@@ -78,6 +78,20 @@ function E4ST.modify_model!(pol::ITCStorage, config, data, model)
)

add_obj_exp!(data, model, PerMWCapInv(), name, oper = -)

# Add things to results here so it gets saved in the right places
total_result_name = "$(pol.name)_cost_obj"
Copy link
Member

Choose a reason for hiding this comment

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

again, what's the reason for this being in modify_model?

Copy link
Member Author

Choose a reason for hiding this comment

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

Same as above.

@github-actions
Copy link

Benchmark result

Judge result

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

Job Properties

  • Time of benchmarks:
    • Target: 14 Jun 2023 - 19:10
    • Baseline: 14 Jun 2023 - 19:12
  • Package commits:
    • Target: d220ca
    • Baseline: 00b355
  • Julia commits:
    • Target: 147bdf
    • Baseline: 147bdf
  • 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
["get_af"] 1.11 (5%) ❌ 1.00 (1%)
["get_generator"] 0.95 (5%) ✅ 1.00 (1%)
["get_plnom"] 1.09 (5%) ❌ 1.00 (1%)
["read_data"] 1.07 (5%) ❌ 1.04 (1%) ❌
["run_e4st"] 0.00 (5%) ✅ 0.02 (1%) ✅

Benchmark Group List

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

  • []

Julia versioninfo

Target

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2436 s          0 s        178 s       3096 s          0 s
       #2  2793 MHz       4224 s          0 s        201 s       1269 s          0 s
  Memory: 6.7812042236328125 GB (4573.01171875 MB free)
  Uptime: 576.33 sec
  Load Avg:  1.01  1.1  0.68
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Baseline

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2492 s          0 s        184 s       4705 s          0 s
       #2  2793 MHz       5828 s          0 s        221 s       1323 s          0 s
  Memory: 6.7812042236328125 GB (4740.82421875 MB free)
  Uptime: 744.11 sec
  Load Avg:  1.0  1.05  0.74
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Target result

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

Job Properties

  • Time of benchmark: 14 Jun 2023 - 19:10
  • Package commit: d220ca
  • Julia commit: 147bdf
  • 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
["get_af"] 103.600 ns (5%) 32 bytes (1%) 2
["get_generator"] 50.563 ns (5%) 48 bytes (1%) 1
["get_plnom"] 124.561 ns (5%) 48 bytes (1%) 3
["read_data"] 40.726 ms (5%) 9.98 MiB (1%) 334441
["run_e4st"] 223.683 ms (5%) 8.078 ms 102.36 MiB (1%) 493343
["setup_model"] 1.771 s (5%) 628.284 ms 988.98 MiB (1%) 13349265

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2436 s          0 s        178 s       3096 s          0 s
       #2  2793 MHz       4224 s          0 s        201 s       1269 s          0 s
  Memory: 6.7812042236328125 GB (4573.01171875 MB free)
  Uptime: 576.33 sec
  Load Avg:  1.01  1.1  0.68
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Baseline result

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

Job Properties

  • Time of benchmark: 14 Jun 2023 - 19:12
  • Package commit: 00b355
  • Julia commit: 147bdf
  • 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
["get_af"] 93.612 ns (5%) 32 bytes (1%) 2
["get_generator"] 53.327 ns (5%) 48 bytes (1%) 1
["get_plnom"] 114.035 ns (5%) 48 bytes (1%) 3
["read_data"] 37.894 ms (5%) 9.55 MiB (1%) 324493
["run_e4st"] 60.634 s (5%) 2.388 s 4.27 GiB (1%) 64508422
["setup_model"] 1.690 s (5%) 556.732 ms 982.63 MiB (1%) 13257927

Benchmark Group List

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

  • []

Julia versioninfo

Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      Ubuntu 22.04.2 LTS
  uname: Linux 5.15.0-1038-azure #45-Ubuntu SMP Mon Apr 24 15:40:42 UTC 2023 x86_64 x86_64
  CPU: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  2793 MHz       2492 s          0 s        184 s       4705 s          0 s
       #2  2793 MHz       5828 s          0 s        221 s       1323 s          0 s
  Memory: 6.7812042236328125 GB (4740.82421875 MB free)
  Uptime: 744.11 sec
  Load Avg:  1.0  1.05  0.74
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, icelake-server)
  Threads: 1 on 2 virtual cores

Runtime information

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

lscpu output:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   46 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          2
On-line CPU(s) list:             0,1
Vendor ID:                       GenuineIntel
Model name:                      Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
CPU family:                      6
Model:                           106
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
Stepping:                        6
BogoMIPS:                        5586.87
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
Hypervisor vendor:               Microsoft
Virtualization type:             full
L1d cache:                       96 KiB (2 instances)
L1i cache:                       64 KiB (2 instances)
L2 cache:                        2.5 MiB (2 instances)
L3 cache:                        48 MiB (1 instance)
NUMA node(s):                    1
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed:          Not affected
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:   Mitigation; Clear CPU buffers; SMT Host state unknown
Cpu Property Value
Brand Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Vendor :Intel
Architecture :UnknownIntel
Model Family: 0x06, Model: 0x6a, Stepping: 0x06, Type: 0x00
Cores 2 physical cores, 2 logical cores (on executing CPU)
No Hyperthreading hardware capability detected
Clock Frequencies Not supported by CPU
Data Cache Level 1:3 : (48, 1280, 49152) kbytes
64 byte cache line size
Address Size 48 bits virtual, 46 bits physical
SIMD 512 bit = 64 byte max. SIMD vector size
Time Stamp Counter TSC is accessible via rdtsc
TSC increased at every clock cycle (non-invariant TSC)
Perf. Monitoring Performance Monitoring Counters (PMC) are not supported
Hypervisor Yes, Microsoft

@sallyrobson sallyrobson merged commit 59207b9 into main Jun 14, 2023
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