Berkus
я тебе ща статью дам, там как раз слова такого велосипедостроителя
Andrei
Не вижу никаких проблем самописности, если твой таймер работает, а библиотечный нет.
Andrei
И не надо мне пожалуйста тут про велосипеды, ок?
Berkus
http://www.crazygaze.com/blog/2016/03/24/portable-c-timer-queue/ просто зацени что чувак пишет
Berkus
Berkus
проблема здесь совсем не в таймерах
🦥Alex Fails
А в том, что он вроде б отвалился
Berkus
а в калифорнийских наркоманах которые библиотеку не могут собрать нормально
IB
я вам принёс
IB
https://geektimes.ru/company/mailru/blog/285672/
Andrei
>mailru/blog
Andrei
Нет, спасибо.
Berkus
.travis/build.sh на 630 строк... O_o
Berkus
"Downloading and building patched gyp"
Berkus
WTF per minute = 2
Anonymous
.travis/build.sh на 630 строк... O_o
Этот весь шлак надо выкинуть.
Berkus
да да, я это и делаю
Anonymous
да да, я это и делаю
И наши патчи тоже лучше интегрировать сразу.
Berkus
сейчас и до них доберусь
Berkus
залил сюда https://github.com/berkus/tdesktop/tree/fedora-patches
Berkus
чот я не совсем понял, зачем он депендится на zlib и тащит с собой minizip при этом
Berkus
а, или там целый zip формат еще, для темок что ли
Berkus
ну збс в гипе расписаны пути к либам /usr/local/ffmpeg_old/lib/libavutil.a
Berkus
(libs_loc)/crashpad_oldmac
Berkus
asdfasdf
Dr. Friedrich
А если ещё шире: если лицензия нарушает законодательство твоей страны, то лицензия не имеет юр. силы.)
Только те пункты, которые нарушают законодательство, а не вся лицензия.
Berkus
я уже после патча посмотрел
Berkus
там в гипах всякого барахла навалено
Anonymous
там в гипах всякого барахла навалено
Поэтому слелдующим шагом должно быть выкидывание этого GYP вообще.
Berkus
ну ща, там целый каталог говен понаписан
Berkus
я пока сделал скелет сборки, ща посмотрю чего ему надо еще
Dr. Friedrich
:3
Evgenii
Замерил таки)
Berkus
41 минута
Berkus
это с 1000 субсемплов?
Evgenii
41 минута
Это юзер
Pepe 🐸
http://www.kevinbeason.com/smallpt/
А в чем соль этого? В том что всего 100 строк?
Купи
#supapro
Andrei
А
Andrei
Кстати, котаны.
Andrei
Я закончил ядро компилятора.
Andrei
Написанная версия mersenne-твистора обгоняет плюсовый оптимизированный код :3
Andrei
При этом код не сложнее плюсового.
Andrei
~4-5%
Andrei
Ну, естественно, что там не могло получиться цифр другого порядка.
Andrei
Но сам факт того, что язык задизайненный за полгода и компилятор написанный за январь + начало февраля уже выдаёт всю синтаксическую функциональность плюсов и даже больше и при этом работает не медленее — это я считаю довольно круто.
Andrei
Вот за что я люблю маленькие команды.
Surreal
Он компилирует в плюсы, которые потом компилятся gcc?
Andrei
Нет, лол.
Andrei
Он прямо в объектники нативные комплиирует.
Surreal
Тогда он у вас на ограниченном числе задач будет быстрее.
Andrei
Meaning..?
Evgenii
~4-5%
А с чем сравнивали? Компилятор, флаги?
Andrei
Это просто фронтенд llvm-а.
Andrei
А наш код соотв. opt -O2 + llc
Evgenii
clang -O2
А какой разброс с О1 и О3
Surreal
А дайте алгоритм, точнее c++ код, который тестили. Я думаю, тут найдутся люди, которые захотят его сильнее оптимизировать.
Andrei
Дело конечно еще просто в том может быть, что стандартная реализация твистера не самая потимальная, но это не очень важно, поскольку, суть в том, что по скорости это явно не джава и не питон. Даже устроит быть чуть медленее плюсов, при том, что по языку матепрограммирование прям из коробки гораздо удобнее чем плюсовое.
Andrei
А какой разброс с О1 и О3
-O3 не влияет никак ни на один из языков в данной задаче. а на O1 не тестили.
Andrei
К примеру наивный фиббоначи мы делаем медленее чем плюсы на 10%
Andrei
Оказалось llvm не умеет некоторые оптимизации делать из коробки
Andrei
бэкендовские.
Andrei
Но это всё допустимо. И очень хорошо.
Surreal
брался мерсенн из стандартной библиотеки.
И его код компилился и clang'ом и вашей разработкой? Или под свой компилятор вы вручную писали реализацию?
Andrei
Эм. Наш твистер был написан на нашем языке, разумеется. Затем наш фронтенд компилировал из этого IR который дальше скрамливается llc
Andrei
С плюсами аналогично
Andrei
Только там std::mt13397
Andrei
И код скармливается clang-у
Andrei
Который внутри сам вызывает llc и opt по сути.