Jun. 17th, 2023

amarao: (Default)
Отлаживаю почему ассерты медленные.

import_playbook стоит 100мс. Кадждый. То есть три плейбуки раздельно на 240мс быстрее, чем плейбука, которая в конце делает импорт двух остальных.

Сами ассерты - это какой-то ппц. Математика на группах 130мс (математика: assert that group.foo|d( [] ) intersect groups.bar |d ()). 130мс. На процессоре с частотой 4ГГц. Это 500 миллионов инструкций, чтобы обработать пересечение групп с ~50 строк в худшем случае. Ассерт на каждый хост при 50 хостах - 50*0.1 = 5с потерянного времени. Ассерт перед каждым приложением - 5*50 = 250с. Да, алгоритмически это квадрат, или даже куб, но мы говорим про 50 штук. 50**3 = 125000. Сколько нужно времени современному процессору, чтобы чихнуть 125 тысяч раз?

... Но не в ансибле. И я решаю не микрооптимизацию рендеринга кадра на 144Гц, а конкретные лишние несколько минут в пайплайне.

(и нет, митоген замедляет ассерты, это известный феномен).

Profile

amarao: (Default)
amarao

August 2025

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 21st, 2025 07:11 pm
Powered by Dreamwidth Studios