Update ADACS: Scaling and Profiling notes authored by Conrad Chan's avatar Conrad Chan
......@@ -90,3 +90,13 @@ ROQ should be a factor of 5-10 faster, but this is not the case. The run only co
![roq_8](uploads/dc9f696a409207490fe60f20bf322b23/roq_8.png)
The performance discrepancy is either caused by a slowdown in each individual worker task. Need to confirm if the speedup is achievable in serial.
### Function timing
The function calls are timed for 5000 iterations using PyInstrument to determine where time is spent during computation.
| | log_likelihood (total) | calculate_snrs | frequency_domain_strain |
|----------|------------------------|----------------|-------------------------|
| Standard | 62.123 | 35.470 | 22.290 |
| ROQ | 29.995 | 23.327 | 6.101 |
In `frequency_domain_strain`, `lal_binary_black_hole` is replaced with `binary_black_hole_roq`, which gives a 3.8x speedup. However, calculating the SNRs in `calculate_snrs` is only 1.4x faster. This limits the speedup, since `calculate_snrs` accounts for over twice as much time as `frequency_domain_strain`.
\ No newline at end of file