Ускоренная версия функции определения високосного года

Проектирование и разработка идеального средства программирования.

Модератор: Модераторы

Ускоренная версия функции определения високосного года

Сообщение Alexander » 15.12.2025 21:49:51

Её вначале удалось немного ускорить вручную, а затем этот замысел развил ИИ и вот что получилось.

Для органайзера я использую сейчас её 64 битную версию, но на всякий случай сделал и проверил 16 битную. Она работает ещё немного быстрее и совместима по параметру с функцией FPC SysUtils.IsLeapYear.
Так что вполне кандидат на замещение имеющихся в FPC этих функций. Ускорение в два с гаком раз.

Отдельно функция выглядит так:

Код: Выделить всё
function vg16(y : word) : bytebool; inline;
begin
Exit((y and 3 = 0) and ((y mod 25) <> 0) or (y and 15 = 0));
end;


В составе последней версии органайзера (юнит time.pas): http://soft.self-made-free.ru/GORG64_503.tar.xz
там также есть последние ускорения и для других функций времени, но эта функция ускорена наиболее сильно.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 859
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Ускоренная версия функции определения високосного года

Сообщение Снег Север » 16.12.2025 08:45:45

Просто интересно - где может пригодиться ускорение в два раза определения високосного года??? Существуют приложения, где это требуется делать в реальном времени тысячи раз в секунду?
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3067
Зарегистрирован: 27.11.2007 16:14:47

Re: Ускоренная версия функции определения високосного года

Сообщение Alexander » 16.12.2025 09:10:56

Даже если функция используется один раз в секунду - это выигрыш, а не проигрыш. Процессор-то при этом отдыхает. А где-то и большие данные обрабатываются на эту тему - функция на самом часто используемая. Каждая ускоренная в два раза функция либо удваивает мощность процессора, либо уполовинивает энергопотребление компьютера - как на это смотреть.

Пользователи, кстати, могут здесь написать, насколько она улучшила их программы.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 859
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Ускоренная версия функции определения високосного года

Сообщение Снег Север » 16.12.2025 10:44:53

Да мне не жалко, программисты развлекаются. Но вот насчет частого использования, да ещё в приложениях, а не серверами - это как-то сомнительно.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3067
Зарегистрирован: 27.11.2007 16:14:47


Вернуться в Компилятор / язык программирования

Кто сейчас на конференции

Сейчас этот форум просматривают: mike и гости: 1