Поиск по публикациям

О выборе языков программирования для модернизации системы эфемеридных расчетов в астрономии ЭРА

В. А. Яковлев, К. А. Наумов, М. В. Васильев

Труды ИПА РАН, вып. 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++. Кроме сохранения необходимой точности эфемеридных расчетов использование этих языков позволит заметно сократить время вычислений, а также создаст задел для повышения их точности.

Цитирование

Текст
Бибтех
RIS
В. А. Яковлев, К. А. Наумов, М. В. Васильев. О выборе языков программирования для модернизации системы эфемеридных расчетов в астрономии ЭРА // Труды ИПА РАН. — 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 -