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

October 2025

S M T W T F S
   1234
5 67891011
12 131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Nov. 6th, 2025 03:45 am
Powered by Dreamwidth Studios