| Abstract: | Despite many decades of evolution in navigation algorithm techniques, improving the performance of well understood and accepted workhorse algorithms remains an active research area. Navigation algorithms have distinct computational needs: non-trivial mathematical computations on lowdimensional vectors performed at high rates. In this paper, we explore the potential benefits and best practices of binding performant low-level code to flexible high-level scripting languages. By employing exemplar propagation and integration algorithms, we benchmark NumPy, pybind11, nanobind, and pure C++ implementations for execution speed and memory overhead. Our results demonstrate significant speed and marginal memory improvements when utilizing bound low-level code compared to traditional Python/NumPy implementations, highlighting the utility of code-binding for navigation challenges. Quantifying these performance gains is particularly valuable for software architecture designs that balance development agility with computational efficiency. As binding tools progress, our findings present a pertinent snapshot of their current performance in the context of navigation problems. We find that nanobind performs comparably to pybind11 in our test scenarios, particularly excelling in binding primitive data types. Additionally, our analysis indicates that the Microsoft Visual C++ compiler significantly underperforms GCC and Clang, leading us to discourage its use for compiling binder code. We provide recommended optimization flags to maximize binder performance. We intend to release our analysis software, which includes a benchmarking framework specifically designed for navigation problems utilizing code binders. Our versatile benchmarking methods can be readily utilized for profiling other navigation algorithms to assess and improve code efficiency. Furthermore, our numerical results elucidate the scale of performance improvements achievable through compiled code specific to navigation algorithms, offering valuable insights for future architectural design. |
| Published in: |
2025 IEEE/ION Position, Location and Navigation Symposium (PLANS) April 28 - 1, 2025 Salt Lake Marriott Downtown at City Creek Salt Lake City, UT |
| Pages: | 166 - 172 |
| Cite this article: | Foreman, Daniel J., Chalasani, Siddarth, Walker, Michael R., II, "Quantifying Code Binding Performance for Navigation Algorithms," 2025 IEEE/ION Position, Location and Navigation Symposium (PLANS), Salt Lake City, UT, April 2025, pp. 166-172. |
| Full Paper: |
ION Members/Non-Members: 1 Download Credit
Sign In |