Pull to refresh
2
0.1
Китаев Антон@Notevil

Инженер программист

Send message

с подачи этой статьи легко пойти искать инфу про perf в интернетах :)

Я сюда как раз пришел, потому что искал про perf в интернетах

а разве клавиатура должна появится не в драйверах? Или это только для теста прерываний?

Почему C++17 и что мы будем использовать

Таки почему 17, а не 23?

Я вот этот момент никогда понять не мог

Дело в том, что S — это результат математической операции, и использовать его «как есть» в качестве ключа небезопасно.

S мы можем получить, только если как-то утекли приватные ключи или как-то взломали сам алгоритм. А если у нас уже есть S, то мы точно так же можем применить KDF и получить нужные сессионные ключи. Тогда какая разница?

а как оно было раньше?
в boost ведь давно корутины есть.

В P1789 std::integer_sequence обзавёлся методами, позволяющими использовать его в structured binding и template for:

И я вдруг понял, что этого всю жизнь не хватало.

Но еще жизнь надо будет подождать, пока я на 26 стандарт перейду.

а как? там какой-то особый механизм для этого есть? Или сторонняя утилита для проверки?

А можно ли понять, что случилась коллизия не поймав баг при отладке?

А я всегда добавлял pipe в poll и останавливал его с помощью записи в pipe.
eventfd на сколько помню чисто linuxовая история, а мне надо чтобы и под mac работало.
Хотя в последний раз меня попросили отдельно реализовывать поллер на epoll и kqueue, iocp. Последние два имеют возможность добавить пользовательское событие чтобы проснуться. А в epoll по старинке через pipe.

Этот коментарий ведь про кеш?

Как -то тоже нужно было сделать поиск по имени файла. Тупое решение влоб привело просто к тому, что мы ооооочень долго пробирались по файловой системе. Очевидно стало, что нужно иметь какую-то быструю индексацию.
Начал смотреть как работают известные файловые менеджеры, dolphin, nemo, nautilus. У них у всех индексируется определенный набор директорий Downloads, Documents, и т.д. За индексацию отвечает отдельный сервис, который в фоне все это обновляет.
В теории можно было тоже как-то использовать этот индекс, но решение нужно было кросплатформенное linux, mac, windows, а тут еще и на каждом DE linux свои решения. В итоге отложили на неопределенное время.

Так и живут люди с медленным поиском.

Сегодня не используется владение через указатель на базовый класс

Именно так
Ну и как тут уже упоминали

В embedded мире часто приходится жертвовать идиоматичностью и красотой кода ради соответствия жестким ограничениям по памяти или производительности

Поменяется код придется руками исправлять, забудешь исправить - сам дурак. Это же c++.

Для запуска Bloaty с отладочным файлом используется флаг --debug-file.

bloaty --debug-file=/path/to/debug_symbols_file /path/to/my_stripped_executable


А есть инструкция как этот правильно применяется? Допустим собрали вы свой проект с описанными флагами для оптимизации включая --strip-all, с gcc на линукс с cmake. Где искать `/path/to/debug_symbols_file` ?

Я у себя столкнулся с такой особенностью виртаульных таблиц.
У меня был код, который использовал базовый класс как интерфейс, но сами реализации не хранились в одном месте через указатель на этот базовый класс. Но сам базовый класс имел виртуальный деструктор, как советуют core гайды.
Удаление этого деструктора, сэкономило мне около 10К в бинарнике.
Утечек нет, потому что не используется владение через указатель на этот базовый класс и деструктор вызывается всегда сразу у потомка.

Ну нельзя же сам велосипед с таким двигателем. А велосипедист может хоть 10кВт выдавать если он такой супермен.

А есть опция использовать системно установленную библиотеку, и если ее нет, то свою, поставляемую?

А оно кроссплатформенное, на мак и виндовс эта схема будет так же работать?

Вчера только решил попробовать. Не было связи с сервером. Обидно.

А как управлять внешними зависимостями? Единый репозиторий пакетов, где все лежит в стандартизированном виде, или поддержка различных инструментов, как клонирование напрямую с git или штуки на подобии conan и vcpkg. А в каком виде? Так же в коде типо `import "https://github.com/fmtlib/fmt#master"`?

Можно ли это реализовать в новом компиляторе c++, который будет одновременно поддерживать стандарт и расширять его необходимыми фичами для самособираемости кода? С учетом модулей, возможно даже без нестандартных pragma можно будет уже собирать код с дефолтными флагами.

В даже в настоящее время проект - это просто папки и набор файлов в них с описанием того что нужно с этим сделать, вместо указания того, что нужно сделать непосредственно с их содержимым.

Я не понимаю разницу?
Или хочется чтобы, то как собирается приложение было сразу в исходном коде?

Information

Rating
4,498-th
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity