Three measurements, each answering a different question: what one call costs, how the cost grows with size, and what the other cores save. The method states the three rules the tools follow, no warm-up, best of several runs, and cost per unit rather than an absolute figure, so a reader can reproduce and judge. The findings are that the numerical kernels are linear and parallelise well, a day over two thousand satellites costs 0.7 seconds on one core and 81 milliseconds on sixteen, and that interpolation is about ten times cheaper than propagation. Two combined operations are limited by their algorithm: greedy planning is quadratically serial, and the duplicate check on edge insertion squares that quadratic, so threading helps neither. Eight threads is recommended, since efficiency falls to about half at sixteen. |
||
|---|---|---|
| .. | ||
| README.md | ||
| README.zh.md | ||
| bench.md | ||
| bench.zh.md | ||
| errors.md | ||
| errors.zh.md | ||
| glossary.md | ||
| glossary.zh.md | ||
| layers.md | ||
| layers.zh.md | ||
| parallel.md | ||
| parallel.zh.md | ||
| sim.md | ||
| sim.zh.md | ||
| units.md | ||
| units.zh.md | ||
README.md
Design notes
English | 简体中文
This directory records the cross-crate design decisions of ApsisRS, such as the coordinate and unit conventions, the error and tolerance strategy, the layer boundaries and the parallelism. The design inside a single crate is documented in that crate's module documentation.
A note is self-contained and refers only to code in this repository or to a public standard.