О выборе языков программирования для модернизации системы эфемеридных расчетов в астрономии ЭРА
Труды ИПА РАН, вып. 76, 32–38 (2026)
DOI: 10.32876/ApplAstron.76.32-38
Ключевые слова: Эфемерида, программный комплекс, язык программирования, арифметические операции с повышенной точностью, операции ввода/вывода
Информация о статье Текст статьиАннотация
Цель работы — выбор языка или языков программирования для модернизации системы Эфемеридных Расчетов в Астрономии (ЭРА). Появление планов по модернизации связано с потенциальным отказом от поддержки 80-битных переменных в новых версиях базового для системы ЭРА языка Racket. Использование же 80-битных переменных является обязательным условием для обеспечения необходимой точности эфемеридных расчетов. Критериями выбора языков были распространенность и функционал для решения задач эфемеридной астрономии, возможности по ускорению и повышению точности эфемеридных расчетов, кроссплатформенность в рамках ОС Windows и Linux, сопровождение и модернизация системы ЭРА без привлечения высококвалифицированных программистов. Исходя из перечисленных критериев для тестирования были выбраны языки программирования C++, Fortran и Python, а также библиотеки для вычислений с повышенной точностью MPFR, QD и mpmath. Язык Racket также участвовал в рассмотрении как основной инструмент, использовавшийся для программирования последней версии системы ЭРА. В силу очевидности выбора языков по всем критериям кроме быстродействия основные тесты были направлены на сравнение скорости выполнения базовых арифметических операций и операций ввода/вывода. Тестирование проводилось с применением двух компьютеров на базе процессоров Intel® Core™ i5 и i7 под управлением ОС Linux. Тесты показали, что время выполнения базовых арифметических операций с использованием Fortran и C++ практически совпадает. Операции ввода/вывода быстрее всего работают на C++. Программы на Racket проигрывают в несколько раз как программам на Fortran, так и на C++. Библиотеки для вычислений с повышенной точностью также быстрее работают в тестах на C++ и Fortran. Python уступает по показателям быстродействия C++, Fortran и Racket. По результатам тестирования для работ по модернизации системы ЭРА выбраны языки программирования Fortran и C++. Кроме сохранения необходимой точности эфемеридных расчетов использование этих языков позволит заметно сократить время вычислений, а также создаст задел для повышения их точности.
Цитирование
В. А. Яковлев, К. А. Наумов, М. В. Васильев. О выборе языков программирования для модернизации системы эфемеридных расчетов в астрономии ЭРА // Труды ИПА РАН. — 2026. — Вып. 76. — С. 32–38.
@article{yakovlev2026,
abstract = {Цель работы — выбор языка или языков программирования для модернизации системы Эфемеридных Расчетов в Астрономии (ЭРА). Появление планов по модернизации связано с потенциальным отказом от поддержки 80-битных переменных в новых версиях базового для системы ЭРА языка Racket. Использование же 80-битных переменных является обязательным условием для обеспечения необходимой точности эфемеридных расчетов. Критериями выбора языков были распространенность и функционал для решения задач эфемеридной астрономии, возможности по ускорению и повышению точности эфемеридных расчетов, кроссплатформенность в рамках ОС Windows и Linux, сопровождение и модернизация системы ЭРА без привлечения высококвалифицированных программистов.
Исходя из перечисленных критериев для тестирования были выбраны языки программирования C++, Fortran и Python, а также библиотеки для вычислений с повышенной точностью MPFR, QD и mpmath. Язык Racket также участвовал в рассмотрении как основной инструмент, использовавшийся для программирования последней версии системы ЭРА. В силу очевидности выбора языков по всем критериям кроме быстродействия основные тесты были направлены на сравнение скорости выполнения базовых арифметических операций и операций ввода/вывода. Тестирование проводилось с применением двух компьютеров на базе процессоров Intel® Core™ i5 и i7 под управлением ОС Linux.
Тесты показали, что время выполнения базовых арифметических операций с использованием Fortran и C++ практически совпадает. Операции ввода/вывода быстрее всего работают на C++. Программы на Racket проигрывают в несколько раз как программам на Fortran, так и на C++. Библиотеки для вычислений с повышенной точностью также быстрее работают в тестах на C++ и Fortran. Python уступает по показателям быстродействия C++, Fortran и Racket.
По результатам тестирования для работ по модернизации системы ЭРА выбраны языки программирования Fortran и C++. Кроме сохранения необходимой точности эфемеридных расчетов использование этих языков позволит заметно сократить время вычислений, а также создаст задел для повышения их точности.},
author = {В.~А. Яковлев and К.~А. Наумов and М.~В. Васильев},
doi = {10.32876/ApplAstron.76.32-38},
issue = {76},
journal = {Труды ИПА РАН},
keyword = {Эфемерида, программный комплекс, язык программирования, арифметические операции с повышенной точностью, операции ввода/вывода},
note = {russian},
pages = {32--38},
title = {О выборе языков программирования для модернизации системы эфемеридных расчетов в астрономии ЭРА},
url = {http://iaaras.ru/library/paper/2239/},
year = {2026}
}
TY - JOUR
TI - О выборе языков программирования для модернизации системы эфемеридных расчетов в астрономии ЭРА
AU - Яковлев, В. А.
AU - Наумов, К. А.
AU - Васильев, М. В.
PY - 2026
T2 - Труды ИПА РАН
IS - 76
SP - 32
AB - Цель работы — выбор языка или языков программирования для
модернизации системы Эфемеридных Расчетов в Астрономии (ЭРА).
Появление планов по модернизации связано с потенциальным отказом от
поддержки 80-битных переменных в новых версиях базового для системы
ЭРА языка Racket. Использование же 80-битных переменных является
обязательным условием для обеспечения необходимой точности
эфемеридных расчетов. Критериями выбора языков были
распространенность и функционал для решения задач эфемеридной
астрономии, возможности по ускорению и повышению точности эфемеридных
расчетов, кроссплатформенность в рамках ОС Windows и Linux,
сопровождение и модернизация системы ЭРА без привлечения
высококвалифицированных программистов. Исходя из перечисленных
критериев для тестирования были выбраны языки программирования C++,
Fortran и Python, а также библиотеки для вычислений с повышенной
точностью MPFR, QD и mpmath. Язык Racket также участвовал в
рассмотрении как основной инструмент, использовавшийся для
программирования последней версии системы ЭРА. В силу очевидности
выбора языков по всем критериям кроме быстродействия основные тесты
были направлены на сравнение скорости выполнения базовых
арифметических операций и операций ввода/вывода. Тестирование
проводилось с применением двух компьютеров на базе процессоров Intel®
Core™ i5 и i7 под управлением ОС Linux. Тесты показали, что время
выполнения базовых арифметических операций с использованием Fortran и
C++ практически совпадает. Операции ввода/вывода быстрее всего
работают на C++. Программы на Racket проигрывают в несколько раз как
программам на Fortran, так и на C++. Библиотеки для вычислений с
повышенной точностью также быстрее работают в тестах на C++ и
Fortran. Python уступает по показателям быстродействия C++, Fortran и
Racket. По результатам тестирования для работ по модернизации
системы ЭРА выбраны языки программирования Fortran и C++. Кроме
сохранения необходимой точности эфемеридных расчетов использование
этих языков позволит заметно сократить время вычислений, а также
создаст задел для повышения их точности.
DO - 10.32876/ApplAstron.76.32-38
UR - http://iaaras.ru/library/paper/2239/
ER -