Alexander "SonnySlave"
да, в описании чата 😊
Alexander "SonnySlave"
http://docs.conan.io/en/latest/changelog.html
🙃
Господа, есть одна длл-ка, и она слишком больших размеров. Вот думаю можно ли как-то исследовать почему она такая жирная. Ну и как-то уменьшить размер без особых потерь. Исходники разумеется есть. Не знаю с чего начинать.
Berkus
выкинуть из нее стрипом дебаг информацию?
Square
Да.
Я рад что ты меня не разочаровал
🙃
Ну ок, посмотрим сколько размера они отжирают.
🙃
статические либы
🙃
ну она статически слинкована только с другими нашими либами :)
🙃
видимо по каким-то историческим причинам так сделано
🙃
или для производительности
Berkus
ну мы например все либы статически линкуем в одну динамическую либу для андроида, потому что это удобно
Berkus
динамическая либа по сути просто экзешник
Berkus
не вижу проблем линкануть туда либ как надо
🙃
У нас примерно также. Правда у меня есть подозрения что одна статик либа входит в несколько динамик либ.
🙃
Можно поудалять из тех в которых это не нужно.
🙃
Ну как, непрямой вызов через все эти таблицы динамик линкера это тоже, хоть и очень небольшая, но потеря в производительности, особенно когда пишешь какую-то числодробилку
🙃
Подстановка адресов производится в специальную таблицу
🙃
а вызовы в программе идут сквозь такую таблицу
🙃
а не сразу по адресу
🙃
Подстанавливать адрес прямо в место вызова в рантайме небезопасно, т.к окажется что код можно модифицировать.
🙃
А таблица находится в отдельной странице памяти которую менять можно.
🙃
Но в целом я согласен, темболее на x86 каком-нибудь наверное вообще без разницы вызывать напрямую или через таблицу
Berkus
Можно поудалять из тех в которых это не нужно.
если данные из этой либы не нужны в финальном линке - они не будут включаться
🙃
Нет, они там нужны, просто они могли бы из соседней длл-ки браться :)
🦥Alex Fails
ну, если интересует размер файла, то поможет
🦥Alex Fails
еще я видел какие-то тулы, которые как-то могут сегменты дллок сжимать
Vitaliy
Товарищи, подскажите есть ли какой-то алгоритм, который перебирает все пары элементов в контейнере и считает на них функцию ?
Vitaliy
Стандартный алгоритм конечно же
Nik
аа, пары
🙃
его наверное декартово произведение интересует
Nik
тогда std::accumulate
Vitaliy
его наверное декартово произведение интересует
Точнее его половина, порядок не учитываю
Igor
о! https://events.yandex.ru/events/yagosti/18-dec-2017/
Vitaliy
тогда std::accumulate
Тут элементы соседние кажется, а мне хочется любые пары.
Nik
ах вот оно что, я невнимательно читаю задание)
🙃
Я бы вручную написал, насколько знаю в STL такого нет
Vitaliy
Я бы вручную написал, насколько знаю в STL такого нет
Да уже давно написано, криво просто выглядит
Olesya
Да уже давно написано, криво просто выглядит
что то я такое видела в 17м стандарте. если не путаю с 20м.
Olesya
я про вопрос заданный.
Vitaliy
zip? permutation + zip ?
Второе скорее
Nataliya
Привет! Опубликованы видео со встречи РГ21 С++ с участием Herb Sutter и Александра Фокина https://events.yandex.ru/events/cpp-party/27-nov-2017/ Участвуйте в процессе стандартизации, голосуя за идеи на сайте РГ, предлагайте свои идеи и комментируйте уже предложенные.
Крылатый
/ban
Alexander "SonnySlave"
Чатик, нужна помощь. Есть метаклассы от Саттера, точнее пропозал на них. https://herbsutter.com/2017/07/26/metaclasses-thoughts-on-generative-c/ Помогите мне найти инфу о том, что металкассы позволяют менять порядок мемберов в классе\структуре
Alexander "SonnySlave"
Мне вот уже 3 человека сказало, что так они позволяют делать, но я никак не могу найти пруфов
Berkus
"менять" в каком смысле?
Berkus
ты можешь их генерировать в заданном порядке (любом)
Alexander "SonnySlave"
я не вижу, как мы с помощью if'ов можем на металкассах генерировать разный порядок мемберов
Alexander "SonnySlave"
я хочу типа: 1) Если x86, то пусть в моей структуре идут int, char, char, double 2) Если x64, то пусть в моей структуре идут double, int, char, char Это только пример, но всё же
Stanislav
во, комент от Саттера из его бложика
Stanislav
The VC++ compiler is focusing on completing C++17, which currently is still on track for March except for a fully conforming preproprocessor. After that we’ll start implementing C++20 features including spaceship.
Stanislav
т.е. можно ожидать полноценный С++17 в марте ^_^
Stanislav
а к лету еже и с++20 можно будет пощупать похоже
🐙 Antony
я не вижу, как мы с помощью if'ов можем на металкассах генерировать разный порядок мемберов
У меня был пример на эту тему, который я саттеру отсылал... сейчас найду
🐙 Antony
P0031 and P0202 allow users to use familiar algorithms and iterators from the Standard library at compile time: $class compact {    constexpr {       std::sort(      // P0202           $compact.variables().begin(),           $compact.variables().end(),           [](auto var1, auto var2) { return alignof(var1) > alignof(var2); }       );    } };
Alexander "SonnySlave"
Спасибо)
🐙 Antony
Не гарантирую, что синтаксис останется таким! Могут всё помнять
Никита
Ребят, какие плюшки использования noexcept? Желательно для компилятора майков
Viacheslav
Можно погуглить в сторону std::move_if_noexcept. Не знаю, что там в MSVC, но в той же libstdc++ это используется в реализации std::vector. Грубо говоря, если положить в вектор тип, у которого есть и move, и copy constructor, и при этом the move one is not noexcept, то будет копировать.
Viacheslav
На cppreference как раз пример даётся с vector::resize.
PRoSToC0der
а в C++ существует же целочисленный -0 на машинах с обратным кодом? тогда получается, что на таких машинах int будет иметь weak_order?
Гегам
unsigned long long kfc_binom(int n, int m) { m = n - m; if (m == n) return 1; if (m == 0) return 1; return kfc_binom(n - 1, m) + kfc_binom(n - 1, m - 1); }
Гегам
кто может обяснить как работает этот код??????
Гегам
буду очень признателен