On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy
Transactions of IAA RAS, issue 76, 32–38 (2026)
DOI: 10.32876/ApplAstron.76.32-38
Keywords: Ephemeris, software package, programming language, high-precision arithmetic operations, input/ output operations
About the paper Full textAbstract
The objective of this study was to select a programming language or languages for upgrading the Ephemeris Researh in Astronomy (ERA) system. The modernization plans were prompted by the removal of support for 80-bit variables in new versions of Racket, the ERA system's core language. The use of 80-bit variables is essential to ensure the required accuracy of ephemeris calculations. The criteria for selecting the languages included their widespread use and functionality for solving ephemeris astronomy problems, the ability to accelerate and improve the accuracy of ephemeris calculations, cross-platform compatibility, and the ability to maintain and upgrade the ERA system without the need for highly qualified programmers. Based on these criteria, the programming languages C++, Fortran, and Python were selected for testing, as well as the high-precision calculation libraries MPFR, QD, and mpmath. Racket was also considered as the primary programming tool for the latest version of the ERA system. Since the choice of languages was obvious based on all criteria except performance, the main tests focused on comparing the speed of basic arithmetic operations and input/output operations. Testing was conducted using two computers with Intel® Core™ i5 and i7 processors running Linux. Tests showed that the execution time for basic arithmetic operations using Fortran and C++ is virtually identical. Input/output operations are fastest in C++. Racket programs are several times slower than both Fortran and C++ programs. Libraries for high-precision calculations also perform faster in C++ and Fortran tests. Python tests perform worse than C++, Fortran, and Racket programs. Based on the testing results, Fortran and C++ were selected for the ERA system upgrade. In addition to maintaining the required accuracy of ephemeris calculations, using these languages will significantly reduce computation time and create the foundation for improving their accuracy.
Citation
V. A. Yakovlev, K. A. Naumov, M. V. Vasilyev. On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy // Transactions of IAA RAS. — 2026. — Issue 76. — P. 32–38.
@article{yakovlev2026,
abstract = {The objective of this study was to select a programming language or languages for upgrading the Ephemeris Researh in Astronomy (ERA) system. The modernization plans were prompted by the removal of support for 80-bit variables in new versions of Racket, the ERA system's core language. The use of 80-bit variables is essential to ensure the required accuracy of ephemeris calculations. The criteria for selecting the languages included their widespread use and functionality for solving ephemeris astronomy problems, the ability to accelerate and improve the accuracy of ephemeris calculations, cross-platform compatibility, and the ability to maintain and upgrade the ERA system without the need for highly qualified programmers.
Based on these criteria, the programming languages C++, Fortran, and Python were selected for testing, as well as the high-precision calculation libraries MPFR, QD, and mpmath. Racket was also considered as the primary programming tool for the latest version of the ERA system. Since the choice of languages was obvious based on all criteria except performance, the main tests focused on comparing the speed of basic arithmetic operations and input/output operations. Testing was conducted using two computers with Intel® Core™ i5 and i7 processors running Linux.
Tests showed that the execution time for basic arithmetic operations using Fortran and C++ is virtually identical. Input/output operations are fastest in C++. Racket programs are several times slower than both Fortran and C++ programs. Libraries for high-precision calculations also perform faster in C++ and Fortran tests. Python tests perform worse than C++, Fortran, and Racket programs.
Based on the testing results, Fortran and C++ were selected for the ERA system upgrade. In addition to maintaining the required accuracy of ephemeris calculations, using these languages will significantly reduce computation time and create the foundation for improving their accuracy.},
author = {V.~A. Yakovlev and K.~A. Naumov and M.~V. Vasilyev},
doi = {10.32876/ApplAstron.76.32-38},
issue = {76},
journal = {Transactions of IAA RAS},
keyword = {Ephemeris, software package, programming language, high-precision arithmetic operations, input/ output operations},
pages = {32--38},
title = {On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy},
url = {http://iaaras.ru/en/library/paper/2239/},
year = {2026}
}
TY - JOUR
TI - On the Choice of Programming Languages for Modernizing the ERA System of Ephemeris Research in Astronomy
AU - Yakovlev, V. A.
AU - Naumov, K. A.
AU - Vasilyev, M. V.
PY - 2026
T2 - Transactions of IAA RAS
IS - 76
SP - 32
AB - The objective of this study was to select a programming language or
languages for upgrading the Ephemeris Researh in Astronomy (ERA)
system. The modernization plans were prompted by the removal of
support for 80-bit variables in new versions of Racket, the ERA
system's core language. The use of 80-bit variables is essential to
ensure the required accuracy of ephemeris calculations. The criteria
for selecting the languages included their widespread use and
functionality for solving ephemeris astronomy problems, the ability
to accelerate and improve the accuracy of ephemeris calculations,
cross-platform compatibility, and the ability to maintain and upgrade
the ERA system without the need for highly qualified programmers.
Based on these criteria, the programming languages C++, Fortran, and
Python were selected for testing, as well as the high-precision
calculation libraries MPFR, QD, and mpmath. Racket was also
considered as the primary programming tool for the latest version of
the ERA system. Since the choice of languages was obvious based on
all criteria except performance, the main tests focused on comparing
the speed of basic arithmetic operations and input/output operations.
Testing was conducted using two computers with Intel® Core™ i5 and i7
processors running Linux. Tests showed that the execution time for
basic arithmetic operations using Fortran and C++ is virtually
identical. Input/output operations are fastest in C++. Racket
programs are several times slower than both Fortran and C++ programs.
Libraries for high-precision calculations also perform faster in C++
and Fortran tests. Python tests perform worse than C++, Fortran, and
Racket programs. Based on the testing results, Fortran and C++ were
selected for the ERA system upgrade. In addition to maintaining the
required accuracy of ephemeris calculations, using these languages
will significantly reduce computation time and create the foundation
for improving their accuracy.
DO - 10.32876/ApplAstron.76.32-38
UR - http://iaaras.ru/en/library/paper/2239/
ER -