Closed dannyzed closed 7 months ago
Benchmark results from GitHub Actions
Lower numbers are good, higher numbers are bad. A ratio less than 1
means a speed up and greater than 1 means a slowdown. Green lines
beginning with +
are slowdowns (the PR is slower then master or
master is slower than the previous release). Red lines beginning
with -
are speedups.
Significantly changed benchmark results (PR vs main)
All benchmarks:
| Change | Before [ad0bd1bc] | After [30558daf] | Ratio | Benchmark (Parameter) |
|----------|----------------------|---------------------|---------|--------------------------------------------------------------------------|
| | 30.3±0.2ms | 30.3±0.3ms | 1.00 | do_large.DOLarge.time_do_large(100, False, 16, 1) |
| | 249±2ms | 248±2ms | 1.00 | do_large.DOLarge.time_do_large(100, False, 16, 3) |
| | 1.33±0.01ms | 1.31±0.01ms | 0.98 | do_large.DOLarge.time_do_large(100, False, 2, 1) |
| | 1.91±0.01ms | 1.89±0.01ms | 0.99 | do_large.DOLarge.time_do_large(100, False, 2, 3) |
| | 214±0.6ms | 214±1ms | 1.00 | do_large.DOLarge.time_do_large(100, False, 32, 1) |
| | 2.24±0.03s | 2.22±0.01s | 0.99 | do_large.DOLarge.time_do_large(100, False, 32, 3) |
| | 1.94±0.01ms | 1.96±0.01ms | 1.01 | do_large.DOLarge.time_do_large(100, False, 4, 1) |
| | 5.72±0.05ms | 5.66±0.04ms | 0.99 | do_large.DOLarge.time_do_large(100, False, 4, 3) |
| | 6.03±0.04ms | 6.06±0.06ms | 1.01 | do_large.DOLarge.time_do_large(100, False, 8, 1) |
| | 35.3±0.2ms | 35.3±0.3ms | 1.00 | do_large.DOLarge.time_do_large(100, False, 8, 3) |
| | 1.62±0.01ms | 1.63±0.01ms | 1.01 | do_large.DOLarge.time_do_large(2, False, 16, 1) |
| | 5.10±0.03ms | 5.10±0.01ms | 1.00 | do_large.DOLarge.time_do_large(2, False, 16, 3) |
| | 1.00±0.01ms | 1.02±0.01ms | 1.01 | do_large.DOLarge.time_do_large(2, False, 2, 1) |
| | 1.02±0.01ms | 1.04±0.01ms | 1.01 | do_large.DOLarge.time_do_large(2, False, 2, 3) |
| | 4.93±0.07ms | 5.06±0.03ms | 1.03 | do_large.DOLarge.time_do_large(2, False, 32, 1) |
| | 34.0±0.1ms | 34.2±0.1ms | 1.01 | do_large.DOLarge.time_do_large(2, False, 32, 3) |
| | 1.04±0.01ms | 1.03±0.01ms | 0.99 | do_large.DOLarge.time_do_large(2, False, 4, 1) |
| | 1.14±0.01ms | 1.15±0.01ms | 1.01 | do_large.DOLarge.time_do_large(2, False, 4, 3) |
| | 1.15±0.02ms | 1.13±0.01ms | 0.98 | do_large.DOLarge.time_do_large(2, False, 8, 1) |
| | 1.68±0.03ms | 1.69±0.02ms | 1.01 | do_large.DOLarge.time_do_large(2, False, 8, 3) |
| | 6.84±0.08ms | 6.74±0.03ms | 0.99 | do_large.DOLarge.time_do_large(20, False, 16, 1) |
| | 50.0±0.3ms | 49.7±0.3ms | 1.00 | do_large.DOLarge.time_do_large(20, False, 16, 3) |
| | 1.08±0.01ms | 1.06±0ms | 0.98 | do_large.DOLarge.time_do_large(20, False, 2, 1) |
| | 1.18±0.01ms | 1.17±0.01ms | 0.99 | do_large.DOLarge.time_do_large(20, False, 2, 3) |
| | 44.3±0.3ms | 44.2±0.1ms | 1.00 | do_large.DOLarge.time_do_large(20, False, 32, 1) |
| | 415±2ms | 410±2ms | 0.99 | do_large.DOLarge.time_do_large(20, False, 32, 3) |
| | 1.21±0.01ms | 1.20±0.01ms | 0.99 | do_large.DOLarge.time_do_large(20, False, 4, 1) |
| | 2.01±0.01ms | 2.00±0.01ms | 1.00 | do_large.DOLarge.time_do_large(20, False, 4, 3) |
| | 2.05±0.03ms | 2.03±0.02ms | 0.99 | do_large.DOLarge.time_do_large(20, False, 8, 1) |
| | 7.47±0.02ms | 7.43±0.01ms | 1.00 | do_large.DOLarge.time_do_large(20, False, 8, 3) |
| | 902±9ms | 865±50ms | 0.96 | limb_singlescatter.LimbSingleScatter.time_limb_single_scatter(16, False) |
| | n/a | n/a | n/a | limb_singlescatter.LimbSingleScatter.time_limb_single_scatter(16, True) |
| | 721±30ms | 639±50ms | ~0.89 | limb_singlescatter.LimbSingleScatter.time_limb_single_scatter(4, False) |
| | 4.21±0.1s | 4.25±0.08s | 1.01 | limb_singlescatter.LimbSingleScatter.time_limb_single_scatter(4, True) |
| - | 255±1ms | 242±0.9ms | 0.95 | twostream.TwoStreamNadirPlaneParallel.time_two_stream_nadir(100, False) |
| | 5.58±0.01s | 5.64±0.01s | 1.01 | twostream.TwoStreamNadirPlaneParallel.time_two_stream_nadir(100, True) |
| | 9.42±0.03ms | 9.18±0.1ms | 0.97 | twostream.TwoStreamNadirPlaneParallel.time_two_stream_nadir(2, False) |
| | 28.9±0.2ms | 29.0±0.2ms | 1.00 | twostream.TwoStreamNadirPlaneParallel.time_two_stream_nadir(2, True) |
| | 46.2±0.2ms | 45.7±0.2ms | 0.99 | twostream.TwoStreamNadirPlaneParallel.time_two_stream_nadir(20, False) |
| | 342±0.8ms | 344±2ms | 1.01 | twostream.TwoStreamNadirPlaneParallel.time_two_stream_nadir(20, True) |
Full benchmark results can be found as artifacts in GitHub Actions (click on checks at the top of the PR).
Work on upgrading the surface interface and internal calculation to be able to handle BRDFs