Sergey
типа, всякие point3d, и прочие структурки - лучше так помечать?
Sergey
а потом радоваться, когда все-таки рухнет что-то
Dmitriy / დიმიტრი
🌚 тут я затрудняюсь ответить. Меня напрягает, что std::terminate вызывается в таком случае сразу. Лучше я не буду это использовать вообще
Sergey
алсо, смутно понял, в чем именно суть потенциальной оптимизации. что-то такое про stack unwinding
Sergey
был бы пример - вот мы пихаем 100500 точек в контейнер. было, стало.
Sergey
а то - потенциальные оптимизации
Sergey
открыл майерса
Dmitriy / დიმიტრი
Можно написать перемещение из одного вектора в другой, да замерить скорость наверное
Dmitry
В принципе это больше доя библитек, например можно сильно сэкономить при увеличении контейнера через std::move_if_noexcept, если noexcept, тогда перемещаем элементы, если нет, тогда придется копировать.
Surreal
Чего вы зациклились на move семантике?
Sergey
да потому что она темный лес
Sergey
пока читаешь - вроде понятно
Surreal
noexcept применим не только к ней.
Sergey
у Майерса очень похожий текст
Dmitry
Просто другие варианты применения менее очевидны.
Sergey
вероятно, он оттуда и взят. опять же, никаких реальных примеров выгоды - не приведено
Sergey
гипотетические оптимизации
Dmitriy / დიმიტრი
noexcept применим не только к ней.
Я пока только один абстрактный пример придумал: if(noexcept(/*тут какая-то функция*/)) {/*делаем что-то на true*/} else {/*делаем что-то на false*/} точнее вытащил из move-семантики для себя
Sergey
ну а что такое полезное делаем, if true?
Sergey
https://habrahabr.ru/post/164221/
Dmitriy / დიმიტრი
> Уменьшение размера бинарного файла реально кто-то ради этого добавляет noexcept?
Surreal
Ох. Читайте больше про noexcept.
Sergey
что "ох"?
Surreal
http://stackoverflow.com/questions/10787766/when-should-i-really-use-noexcept http://stackoverflow.com/questions/26079903/noexcept-stack-unwinding-and-performance
Sergey
ты сам если разобрался - напиши же
Surreal
Я уже написал.
🦥Alex Fails
noexcept говорит компилю, что всю хрень с обработкой исключений городить не надо
🦥Alex Fails
за счет этого и уменьшается размер, идет оптимизация и т.д.
Sergey
кто бы показал на конкретном примере - какой конкретно выигрыш
Sergey
а пока всякие трали-вали про branch prediction, stack unwinding etc
Sergey
алсо, как же принцип "не платишь за то, что не используешь"? почему, если я не пользуюсь исключениями - то плачу за что-то?
Dmitriy / დიმიტრი
Dmitriy / დიმიტრი
Вот этот комментарий дело говорит.
Surreal
а пока всякие трали-вали про branch prediction, stack unwinding etc
Это не тралли-вали. Почитайте про стек и устройство процессора.
Sergey
норм так совет
Sergey
хамский правда слегка
Sergey
я в курсе, что такое стек.
Surreal
Эээ?
Sergey
что эээ?
Surreal
Т.е. говорить человеку почитать про то, в чем он не разбирается - хамство?
Sergey
в такой форме - да.
Surreal
А в какой форме, простите, мне писать, чтобы за хама не приняли?
Sergey
да ни в какой. "читайте больше", "почитайте про стек" - идите выделываться куда-нибудь еще
Sergey
если разобрался в теме - подскажи
Sergey
так где конкретно можно увидеть выигрыш от этого механизма?
Sergey
сколько процентов скорости, на каком алгоритме
Surreal
А книги и статьи не катируются как источник информации? Зачем мне сейчас вам переписывать устройство процессора и принцип работы стека и вызова функций, если про это уже написано достаточно и написано людьми, которые гораздо умнее меня? Касательно прироста в производительности - больших цифр в реальном мире и нормальном коде ждать не стоит. Компиляторы итак, наверняка, различают большую часть участков, которые можно оптимизировать. Программистам тоже проще писать код, когда не надо беспокоиться об исключениях в используемой функции.
Surreal
Попробую написать вам синтетический бенч, где будет видно разницу. Но нужно ли оно? У вас есть инструмент, предоставляемый языком, который дает компиляторам большую свободу действий. Так используйте его. Но используйте с умом, а не где попало тыкайте.
Sergey
по кругу ходим
Sergey
"с умом" - это где? нашли одно место - push_back и реаллокация места в vector
Anton
ну человек видимо хочет почитать конкретику. А вы ему предлагаете матчасть пойти почитать. что такое кеш и как проц работает))
Sergey
лол, да я в курсе что такое кеш, и как процессор работает
Anton
я условно
Sergey
да, хочется демонстрации
Sergey
типа - вот реальный кусок кода. смотрите, как он становится лучше
Nikolay Markov
пацаны, а есть IDE лучше, чем CLion?
🦥Alex Fails
ой, можно в #supapro , пожалуйста
Nikolay Markov
не, я серьезно спрашиваю
Nikolay Markov
мне не троллить
Nikolay Markov
я просто скептически отношусь к тому, что мне тут кто-то начал рассказывать, что в qt creator можно писать, что угодно
Nikolay Markov
емакс-вим упоминать не будем
Nikolay Markov
так общего назначения есть еще варианты? Code::Blocks?
🦥Alex Fails
Nikolay Markov
спокойно можно, в смейк умеет
но чем она лучше слиона?
Myawss
Чем вам так clion не угодил?
🦥Alex Fails
Stanislav
и в последнюю версию добавили поддержку Си тулчейнов, а не только С++
Stanislav
но чем она лучше слиона?
бесплатная и не на яве? )
Nikolay Markov
может не в Cmake)
хороший аргумент, кстати)
Nikolay Markov
спасибо за мнения
🦥Alex Fails
да, пожалуйста)
Stanislav
Stanislav
список что умеет
Алдар
I saw a book entitled "Die GNU Autotools" and I thought "My feelings exactly". Turns out the book was in German.
Nikolay Markov
.
нет, но аргументы неплохие