Table 4. Performance (single and two-threaded) computing CMAs for a large dataset (13922 patients with 112983 events) on a consumer-grade laptop.
CMA | Single-threaded (min) | Two threads, multicore (min) | Two threads, snow (min) |
---|---|---|---|
CMA 1 | 0.68 | 0.35 | 0.37 |
CMA 2 | 0.69 | 0.36 | 0.41 |
CMA 3 | 0.66 | 0.34 | 0.38 |
CMA 4 | 0.67 | 0.36 | 0.38 |
CMA 5 | 0.94 | 0.50 | 0.53 |
CMA 6 | 0.97 | 0.52 | 0.54 |
CMA 7 | 0.93 | 0.48 | 0.51 |
CMA 8 | 2.20 | 1.21 | 1.19 |
CMA 9 | 2.66 | 1.42 | 1.44 |
per episode* | 4.40 | 2.32 | 2.33 |
sliding window# | 10.73 | 5.80 | 5.66 |
* gap = 180 days → 20009 episodes;
# length = 180 days, step = 90 days → 97454 windows
The times shown are “real” (i.e., clock) running time in minutes as reported by R’s system.time() function. In all cases, the follow-up window and observation window are identical and 2 years long. CMA per episode and sliding window computed CMA1 for each episode/window. Please note that the parallel times are longer than half the single-core times due to various overheads.