Berkus
лучше конечно автоматизировать ето дело, и генерить гнуплот аутпут сразу
Vladislav
Вот кстати, gbench мне решительно не нравится, какие есть альтернативы? Celero гляну, спасибо
Vladislav
да, уже нашел, выглядет хорошо
Vladislav
есть еще folly::Benchmark, но он очень примитивный, только что-то на скорую руку забенчмаркать
Berkus
а чо не буст.таймер :D
Constantine
а в плюсах есть высокоточные счетчики времени встроенные?
Evgenii
Constantine
вообще я помню ржал, когда мои бенчмарки показали, что hot path - вычисление времени, которое выполнялась одна функция
Constantine
винда почему-то безумно долго отвечала на QueryPerformanceCounter(), видимо, там атомарная операция на фиксированном процессоре
Evgenii
Constantine
Anonymous
#chatlist
🦥Alex Fails
Evgenii
Evgenii
я этим горжусь😁
🦥Alex Fails
Алдар
Evgenii
Anonymous
Всем привет
Александр
Расскажет кто, почему в пропозале wide_int некоторые функции noexcept(!Signed)? Почему не оставили UB или арифметику mod 2^N? Со вторым вроде как ясно - те же причины, что с int'ом
Evgenii
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.
Evgenii
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.
Vladislav
🦥Alex Fails
заинклудь ассеблерный файл
Vladislav
Вообще, зачем это надо, интересно?
🦥Alex Fails
Vladislav
Шаурма
Anonymous
у тебя тут
в акамулятор идёт указатель AnotherFunc
далее закидывает в стек test_x86.182014 явно со смещением )
после побитовое "или" на проверку
и вызов функции
Vladislav
Привет)
Vlad
Aidar
Vladislav
https://github.com/rswier/c4/blob/master/c4.c
Constantine
Constantine
А вообще самокомпилирующиеся компиляторы - та еще странная штука. Я где-то читал, как один товарищ модифицировал GCC таким образом, чтобы (а) модификация передавалась при компиляции GCC (б) при компиляции определенного исходного кода встраивалась дополнительная проверка на допустимость определенного пароля
Constantine
В итоге получается вирусня, которой нет в исходном коде
Александр
Vladislav
🐙 Antony
например флажок -ftrapv, который может заставлять компилятор генерировать исключение в этом случае
Vladislav
пусть генерирует, если UB уже случилось то можно делать что угодно, даже нарушать noexcept
🐙 Antony
нельзя
Vladislav
стандарт не запрещает
🐙 Antony
нельзя. Честно честно
Dmitry
Метапрограммирование должно быть без императивности.
Dmitry
Мнение.
Крылатый
Даёшь ФП в массы!
Dmitry
нет
Dmitry
только в темплейтики
Tengiz
Добрый день господа, хотел бы услышать вашего совета:
Существуют ли в природе какие-нибудь статьи, рекомендации, best practices по публикации и распростронению C++ библиотеки.
Библиотека проприетарная, кроссплатформенная (windows, linux), зависит от кучи сторонних библиотек (ICU, boost и т.д.)
Vlad
Vlad
если это не что-то супер-уникальное (что вряд ли)
Александр
Aleksei
Проприетарные обычно в себя упаковывают нужные библиотеки
Крылатый
Крылатый
Под лицензий MIT.
Крылатый
Слава Омниссии!
Vlad
Vlad
🦥Alex Fails
Vlad
Tengiz
Vlad
http://www.stdthread.co.uk/order.html
Aleksei
Да, зависит от лицензий библиотек. Под линукс говорите в инструкции, ставьте такие-то библиотеки (можно для убунты пример привести), а для винды dll нужные рядом кладете
Vlad