Это же всё предполагает запуск на сервере, а наличие собственного внутреннего языка ещё больше ограничивает участников/ Здесь идея абсолютно противоположная, у игроков есть все технологии мира, а внутренним языком, в принципе, можно считать API.
Если открыть решения, то остальные его будут просто отправлять лучшее под своим аккаунтом. Смысл leaderboard'а пропадёт.
Не все участники хотят раскрывать свои решения, по опросам где-то 50% участников.
Были мысли ограничить время на отправку решений, допустим 30 дней от первой попытки, а после этого срока показывать решения других участников, которые хотят поделиться своим кодом. Но тут появляется большая дыра, никто не мешает завести несколько аккаунтов.
При наличии своих DevOps и Infra нет смысла в моей платформе, она для тех, кто не хочет их нанимать, это дорого. Бизнес разработка должна пилить фичи, а не думать об инфраструктуре.
Runner'ы обмениваются информацией о состоянии друг друга и на основе этих данных принимается решение о вероятности выбора инстанса для запроса. Т.е. вероятность попасть на более близкий и свободноный инстанс выше, чем нам более дальний или занятный.
Метрики — это приборы, без которых летать нельзя :)
1) Да, в соответствии с рекомендацией github.com/google/benchmark#disable-cpu-frequency-scaling
2) AVX нет на десктопных CPU, но думаю, что его использование может ещё ускорить.
3) Распараллеливание — это всё же другой подход, при условии, что все ядра загружены, от распараллеливания не будет выгоды.
То, что компилятор «додумался» сделать на маленькой программке, совсем не гарантирует того, что он это сделает на большой. Поэтому лучше самому понимать, как писать более оптимальные варианты.
Это же всё предполагает запуск на сервере, а наличие собственного внутреннего языка ещё больше ограничивает участников/ Здесь идея абсолютно противоположная, у игроков есть все технологии мира, а внутренним языком, в принципе, можно считать API.
Странно, но этот вариант выигрывает у
CopyUnsafeV2
, но проигрывает в Unrolled варианте:
Хотя ассемблер выглядит чище 🤔
Вот обещанная статья
Я нашёл способ как ещё в 2 раза ускорить копирование одной картинки в другую, пошёл статью писать
Если пользоваться стандартным декодером, то RGBA, но в сыром виде в тестовых картинках - RGB.
Вообще было 5 дней, но по факту у меня было 3 вечера, я поздно увидел письмо о новой задаче и основную работу никто не отменял.
В Go можно использовать асскмблер, но быстрого решения как с помощью AVX команд вынуть каждый 3 байт я не нашёл, есть идеи как это сделать?
Если придумаем как. Тут есть ряд проблем:
Если открыть решения, то остальные его будут просто отправлять лучшее под своим аккаунтом. Смысл leaderboard'а пропадёт.
Не все участники хотят раскрывать свои решения, по опросам где-то 50% участников.
Были мысли ограничить время на отправку решений, допустим 30 дней от первой попытки, а после этого срока показывать решения других участников, которые хотят поделиться своим кодом. Но тут появляется большая дыра, никто не мешает завести несколько аккаунтов.
Runner'ы обмениваются информацией о состоянии друг друга и на основе этих данных принимается решение о вероятности выбора инстанса для запроса. Т.е. вероятность попасть на более близкий и свободноный инстанс выше, чем нам более дальний или занятный.
Метрики — это приборы, без которых летать нельзя :)
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d
Значит будет продолжение, с использованием AVX.
2) AVX нет на десктопных CPU, но думаю, что его использование может ещё ускорить.
3) Распараллеливание — это всё же другой подход, при условии, что все ядра загружены, от распараллеливания не будет выгоды.
/users
, т.к. дальше возможны варианты:/users/1
/users/1/visits
/users/zfsdfasdadsdf
Это всё уже внутри
handleGetUser()