Berkus
лучше конечно автоматизировать ето дело, и генерить гнуплот аутпут сразу
Vladislav
Вот кстати, gbench мне решительно не нравится, какие есть альтернативы? Celero гляну, спасибо
Vladislav
да, уже нашел, выглядет хорошо
Vladislav
есть еще folly::Benchmark, но он очень примитивный, только что-то на скорую руку забенчмаркать
Berkus
а чо не буст.таймер :D
Constantine
а в плюсах есть высокоточные счетчики времени встроенные?
Vladislav
а чо не буст.таймер :D
так это ж просто таймер, а не инструмент для бенчмарков)
Constantine
high_presicion_timer?
окай, значит, есть :)
Evgenii
окай, значит, есть :)
high_resolution_clock на самом деле😂
Constantine
вообще я помню ржал, когда мои бенчмарки показали, что hot path - вычисление времени, которое выполнялась одна функция
Constantine
винда почему-то безумно долго отвечала на QueryPerformanceCounter(), видимо, там атомарная операция на фиксированном процессоре
Anonymous
#chatlist
🦥Alex Fails
Есть линк на pdf?
Была в про.асме книга
🦥Alex Fails
🦥Alex Fails
т.е. почему бы и не сказать да для сортировок?
Бля... сорьировок и так слишком много... сложна.... 😭
Evgenii
Бля... сорьировок и так слишком много... сложна.... 😭
я недавно мерджсорт на бумаге без ошибок написал
Evgenii
я этим горжусь😁
Алдар
я недавно мерджсорт на бумаге без ошибок написал
а память через new небось выделяешь?)
Anonymous
Всем привет
Александр
Расскажет кто, почему в пропозале wide_int некоторые функции noexcept(!Signed)? Почему не оставили UB или арифметику mod 2^N? Со вторым вроде как ясно - те же причины, что с int'ом
Evgenii
но если тебе нужна ты возьмешь либу
Dmitry
чуваки, у меня тут вопрос #define CALL(name) (*(decltype(&name))((ptrdiff_t)(name) ^ 0xDEADCODE)) и CALL(AnotherFunc)("d"); и все это скомпилировалось в mov eax,<test_x86.AnotherFunc> push test_x86.182014 xor eax,DEADC0DE call eax а я не хочу пуш между mov и xor, я хочу чтобы они всегда шли друг за другом. что стоит сделать? компилятор - VS2017.
Dmitry
мне что-то подсказывает, что таки да, ничего, но верить в это не очень удобно
Sergey
я мальчик, не хочу пуш, а хочу фыр фыр фыр?
Dmitry
хочу ноп ноп ноп!
Anonymous
А как хочешь ? пуш, пуш, пуш вот и буш
Anonymous
чуваки, у меня тут вопрос #define CALL(name) (*(decltype(&name))((ptrdiff_t)(name) ^ 0xDEADCODE)) и CALL(AnotherFunc)("d"); и все это скомпилировалось в mov eax,<test_x86.AnotherFunc> push test_x86.182014 xor eax,DEADC0DE call eax а я не хочу пуш между mov и xor, я хочу чтобы они всегда шли друг за другом. что стоит сделать? компилятор - VS2017.
🦥Alex Fails
заинклудь ассеблерный файл
Vladislav
Вообще, зачем это надо, интересно?
Vladislav
Еее
Шаурма
Anonymous
у тебя тут в акамулятор идёт указатель AnotherFunc далее закидывает в стек test_x86.182014 явно со смещением ) после побитовое "или" на проверку и вызов функции
Vladislav
Привет)
Vlad
Привет)
салям алейкум ))
Vladislav
https://github.com/rswier/c4/blob/master/c4.c
Constantine
А вообще самокомпилирующиеся компиляторы - та еще странная штука. Я где-то читал, как один товарищ модифицировал GCC таким образом, чтобы (а) модификация передавалась при компиляции GCC (б) при компиляции определенного исходного кода встраивалась дополнительная проверка на допустимость определенного пароля
Constantine
В итоге получается вирусня, которой нет в исходном коде
🐙 Antony
Расскажет кто, почему в пропозале wide_int некоторые функции noexcept(!Signed)? Почему не оставили UB или арифметику mod 2^N? Со вторым вроде как ясно - те же причины, что с int'ом
Сделали 1 в 1 как работает int. Знаковое переполнение у него UB - тоесть может и исключение кинуть и помечать как noexcept нельзя. Беззнаковое переполнение будет считаться по модулю 2 и исключений никаких кидать не должно
🐙 Antony
например флажок -ftrapv, который может заставлять компилятор генерировать исключение в этом случае
Vladislav
пусть генерирует, если UB уже случилось то можно делать что угодно, даже нарушать noexcept
🐙 Antony
нельзя
Vladislav
стандарт не запрещает
🐙 Antony
нельзя. Честно честно
Dmitry
Метапрограммирование должно быть без императивности.
Dmitry
Мнение.
Крылатый
Даёшь ФП в массы!
Dmitry
нет
Dmitry
только в темплейтики
Tengiz
Добрый день господа, хотел бы услышать вашего совета: Существуют ли в природе какие-нибудь статьи, рекомендации, best practices по публикации и распростронению C++ библиотеки. Библиотека проприетарная, кроссплатформенная (windows, linux), зависит от кучи сторонних библиотек (ICU, boost и т.д.)
Vlad
если это не что-то супер-уникальное (что вряд ли)
Tengiz
ммм, совет наверное такой: проприетарная библиотека не нужна никому
Это сильное утверждение, давай предположим что библиотека всё таки нужна )
Aleksei
Проприетарные обычно в себя упаковывают нужные библиотеки
Крылатый
Под лицензий MIT.
Крылатый
Слава Омниссии!
Tengiz
а вы распространяете её с исходными кодами?
Нет, бинарниками и заголовочниками.
Vlad
Нет, бинарниками и заголовочниками.
тогда смотрите в сторону just::thread, они так и распространяются
Vlad
http://www.stdthread.co.uk/order.html
Aleksei
Да, зависит от лицензий библиотек. Под линукс говорите в инструкции, ставьте такие-то библиотеки (можно для убунты пример привести), а для винды dll нужные рядом кладете
Vlad
Это сильное утверждение, давай предположим что библиотека всё таки нужна )
а что хоть за библиотека? или это на будущее заранее решили узнать?
Tengiz
1. Какая лицензия у библиотеки; 2. Совместима ли она с GNU LGPL, которая в ICU; 3. На винде можно собрать установочник с нужными DLL, в лине – пакет
1. У распростроняемой библиотеки не GPL, не MIT, т.е. совсем не open-source. У стронних библиотек MIT, BSD и т.д. что не требует открывать своих исходников У ICU вроде бы н LGPL, а что-то своё - nonrestrictive open source license