Size: a a a

2020 May 26

CC

Chris Calvin in pro.cxx.holywars
Constantine Drozdov
ну там стандартная механика это скользить отрезком и доказать, что рано или поздно он получит 0
Именно
источник

CD

Constantine Drozdov in pro.cxx.holywars
а, тогда понял
источник

CD

Constantine Drozdov in pro.cxx.holywars
это известная фича
источник

CD

Constantine Drozdov in pro.cxx.holywars
например, для прямоугольника
источник

CC

Chris Calvin in pro.cxx.holywars
Прикол в том, что там для определения того где же именно делить отрезок ты решаешь простенькое уравнение
источник

CD

Constantine Drozdov in pro.cxx.holywars
а, или даже для любой выпуклой фигуры
источник

CC

Chris Calvin in pro.cxx.holywars
А теперь представим что шарики это ивенты с усредненно разным для каждого типа временем обработки
источник

CD

Constantine Drozdov in pro.cxx.holywars
или нет
источник

CC

Chris Calvin in pro.cxx.holywars
Считывая нечто батчем я получаю возможность в среднем обработки батча двумя потоками одновременно сделав 2 деления
источник

CD

Constantine Drozdov in pro.cxx.holywars
а, вспомнил, через любую точку внутри выпуклой фигуры можно провести прямую так, чтобы фигура поделилась на две равновеликие части)
источник

CC

Chris Calvin in pro.cxx.holywars
И время синхронизации перед следующим батчем будет минимально, ведь я поделил задачи таким образом они в среднем выполнятся одновременно
источник

CC

Chris Calvin in pro.cxx.holywars
Я получил очень немалое удовольствие удостоверевшись что это действительно работает
источник

CC

Chris Calvin in pro.cxx.holywars
Но это узкий синтетический кейс
источник

CD

Constantine Drozdov in pro.cxx.holywars
Chris Calvin
А теперь представим что шарики это ивенты с усредненно разным для каждого типа временем обработки
Для ивентов же дискретно все
источник

CC

Chris Calvin in pro.cxx.holywars
Тебе флуктуация +-1 не сильно роляет
источник

CC

Chris Calvin in pro.cxx.holywars
Если на середину попадает ты делаешь просто round
источник

CD

Constantine Drozdov in pro.cxx.holywars
а, ну ок
источник

CC

Chris Calvin in pro.cxx.holywars
Ты все равно в итоге минимизируешь расходы
источник

CD

Constantine Drozdov in pro.cxx.holywars
Constantine Drozdov
а, вспомнил, через любую точку внутри выпуклой фигуры можно провести прямую так, чтобы фигура поделилась на две равновеликие части)
это просто очень смешно доказывается, невозможно забыть этот фокус
источник

CD

Constantine Drozdov in pro.cxx.holywars
типа проводим ориентированно прямую, считаем разницу площадей слева и справа
источник