Size: a a a

2020 June 09

OS

Oleksandr Senkovych in pro.cxx
ну то есть если я себе буду делать какую-то математику и никакую функцию ядра (syscall это или нет - не важно) не буду использовать, то профайлер ничего не увидит
источник

VO

Vyacheslav Olkhovche... in pro.cxx
опять двадцать  пять за рыбу деньги
источник

VO

Vyacheslav Olkhovche... in pro.cxx
увидит, надо просто собирать приложение чуть иначе
источник

OS

Oleksandr Senkovych in pro.cxx
ясно
источник

VO

Vyacheslav Olkhovche... in pro.cxx
вот например dtrace прикрученный к nginx https://nginx.org/en/docs/nginx_dtrace_pid_provider.html
источник

VO

Vyacheslav Olkhovche... in pro.cxx
еще такое же есть для постгреса, перла и многих других
источник

VO

Vyacheslav Olkhovche... in pro.cxx
причем какжется в этом случае nginx вообще ванильный, т.е. даже не специально собранный
источник

m

magras in pro.cxx
Oleksandr Senkovych
Ну то есть, вот есть например sampling profiler, он периодически смотрит на текущую инструкцию и таким образом знает какая функция бинаря выполнена. Соответственно что если у тебя одноразовое событие то оно может вообще не попасть в профайл, т.е. для вышеобозначенной задачи не очень полезно. У тебя есть инструменты ядра типа strace и т.д. Когда отдается контроль ядру во время системного вызова, профилировщик встроенный в ядро может что-то сделать. Соответственно если ты не обращаешься к ядру, то этот механизм бесполезен. Есть еще дебаггер, который ставит hardware breakpoint и если процессор выполняет инструкцию по адресу breakpoint'a то контроль переходит профилировщику. Этот подход тоже мало полезен потому что емнип существуют аппаратные ограничения на количество breakpoint'ов и всюду ты их не расставишь. Да и муторно это в продакшне запускать бинарь под дебагерром.
Остается последний метод - code injection. Каждый раз выполняется функция, компилятор добавляет экстра код который записывает текущее состояние и его потом можно восстановить. Из минусов - просадка производительности (разна в зависимости от реализации) но бонусом идет 100% точность.
Hardware breakpoint'ы для этого не нужны. Обычные брейкпойнты работают через opcode 0xCC (INT3). Ими можно хоть все функции обложить.
источник

AP

Antony Polukhin in pro.cxx
Alex Ф-ф-фэils!🌠︙
9 июня, в 18 часов состоится первая онлайн-встреча Российской группы по стандартизации языка C++.
Перед началом карантина комитет по стандартизации C++ успел провести встречу в Праге — и утвердить состав C++20!

Антон Полухин, сопредседатель российской рабочей группы комитета, по традиции выступит с итогами встречи и закулисными деталями.

Немало внутренних подробностей будет и в докладе Александра Зайцева. Вы узнаете всё о том, как комитет задаёт принципы работы с числами в языке.

Зарегистрируйтесь, чтобы получить напоминание о трансляции.

P.S. Мы пробуем новый интерактивный формат. Вот альфа-версия миниатюрной телеграм-викторины с хардкорными вопросами: https://t.me/CppQuizzBot. Ответы разберем на встрече.

Подробности и ссылка на регистрацию: https://events.yandex.ru/events/vstrecha-rossijskoj-r-09-06-2020

Обсудить мероприятие можно в нашем чатике-флудилке pro.cxx.meetups:
https://t.me/joinchat/BYlFbE_di6kxT4OKzxdfgw
#cpp #stdcpp #isocpp #meetup #yandex #cppparty #online
А тем временем, мы потихоньку начинаем!

Присоединяйтесь https://yandex.zoom.us/j/94966503974
источник

ПК

Побитый Кирпич... in pro.cxx
Надеюсь, будет запись 😊
источник

AP

Antony Polukhin in pro.cxx
Побитый Кирпич
Надеюсь, будет запись 😊
источник

A

Alex in pro.cxx
Есть ли способ узнать, является ли символ (в общем случае - юникодный, но хотя бы ASCII) допустимым для путей файловой системы?
источник

FS

Flower Surgeon in pro.cxx
в общем случае — нет
источник

q

qwert in pro.cxx
Alex
Есть ли способ узнать, является ли символ (в общем случае - юникодный, но хотя бы ASCII) допустимым для путей файловой системы?
источник

A

Alex in pro.cxx
Спасибо, классно.
А в том же winAPI нет функции, которая скажет, можно ли использовать указанный символ? Или почистит путь от невалидных символов?
источник

q

qwert in pro.cxx
Alex
Спасибо, классно.
А в том же winAPI нет функции, которая скажет, можно ли использовать указанный символ? Или почистит путь от невалидных символов?
источник

A

Alex in pro.cxx
Спасибо. Надеялся на готовую функцию, потому что то же двоеточие нельзя просто взять и выпилить. Видимо, придётся опять писать велосипед.
источник

ЕЕ

Егор Егоров... in pro.cxx
Добрый день, для подсчета sin использую формулу разложенную в ряд Маклорена  + ввожу машинный эпсилон.
Какая сложность данного алгоритма, линейная?
источник

q

qwert in pro.cxx
Егор Егоров
Добрый день, для подсчета sin использую формулу разложенную в ряд Маклорена  + ввожу машинный эпсилон.
Какая сложность данного алгоритма, линейная?
от чего сложность, от епсилона?
источник

A

Alex in pro.cxx
Егор Егоров
Добрый день, для подсчета sin использую формулу разложенную в ряд Маклорена  + ввожу машинный эпсилон.
Какая сложность данного алгоритма, линейная?
к алгоритмам со скалярным значением на входе странно применять понятие сложности
источник