
Surreal
11.02.2017
20:11:45
Это на твоей совести, что она выбросит что-то вопреки спецификации.

Monday Begins on Saturday
11.02.2017
20:12:22

Surreal
11.02.2017
20:12:38
Тогда не помечай свою функцию noexcept.

Sergey
11.02.2017
20:13:07
прочитал эту статью дважды

Google

Sergey
11.02.2017
20:13:54
я верно понял - единственное применение - это в move constructor объектов, которые часто будут перемещаться в stl-объекты?

Monday Begins on Saturday
11.02.2017
20:14:52

Sergey
11.02.2017
20:15:12
типа, всякие point3d, и прочие структурки - лучше так помечать?
а потом радоваться, когда все-таки рухнет что-то

Monday Begins on Saturday
11.02.2017
20:16:17
? тут я затрудняюсь ответить. Меня напрягает, что std::terminate вызывается в таком случае сразу. Лучше я не буду это использовать вообще

Sergey
11.02.2017
20:16:20
алсо, смутно понял, в чем именно суть потенциальной оптимизации. что-то такое про stack unwinding
был бы пример - вот мы пихаем 100500 точек в контейнер. было, стало.
а то - потенциальные оптимизации
открыл майерса

Monday Begins on Saturday
11.02.2017
20:18:09
Можно написать перемещение из одного вектора в другой, да замерить скорость наверное

Dmitry
11.02.2017
20:19:12
В принципе это больше доя библитек, например можно сильно сэкономить при увеличении контейнера через std::move_if_noexcept, если noexcept, тогда перемещаем элементы, если нет, тогда придется копировать.

Surreal
11.02.2017
20:19:46
Чего вы зациклились на move семантике?

Sergey
11.02.2017
20:20:03
да потому что она темный лес

Google

Sergey
11.02.2017
20:20:09
пока читаешь - вроде понятно

Surreal
11.02.2017
20:20:49
noexcept применим не только к ней.

Sergey
11.02.2017
20:23:23
у Майерса очень похожий текст

Dmitry
11.02.2017
20:23:31
Просто другие варианты применения менее очевидны.

Sergey
11.02.2017
20:23:59
вероятно, он оттуда и взят. опять же, никаких реальных примеров выгоды - не приведено
гипотетические оптимизации

Monday Begins on Saturday
11.02.2017
20:24:32
noexcept применим не только к ней.
Я пока только один абстрактный пример придумал:
if(noexcept(/*тут какая-то функция*/))
{/*делаем что-то на true*/}
else
{/*делаем что-то на false*/}
точнее вытащил из move-семантики для себя

Sergey
11.02.2017
20:26:51
ну а что такое полезное делаем, if true?
https://habrahabr.ru/post/164221/

Monday Begins on Saturday
11.02.2017
20:28:43
> Уменьшение размера бинарного файла
реально кто-то ради этого добавляет noexcept?

Surreal
11.02.2017
20:30:09
Ох. Читайте больше про noexcept.

Sergey
11.02.2017
20:30:30
что "ох"?

Surreal
11.02.2017
20:30:43
http://stackoverflow.com/questions/10787766/when-should-i-really-use-noexcept
http://stackoverflow.com/questions/26079903/noexcept-stack-unwinding-and-performance

Sergey
11.02.2017
20:30:56
ты сам если разобрался - напиши же

Surreal
11.02.2017
20:31:18
Я уже написал.

Alex Фэils?︙
11.02.2017
20:43:15
noexcept говорит компилю, что всю хрень с обработкой исключений городить не надо
за счет этого и уменьшается размер, идет оптимизация и т.д.

Sergey
11.02.2017
20:44:26
кто бы показал на конкретном примере - какой конкретно выигрыш
а пока всякие трали-вали про branch prediction, stack unwinding etc
алсо, как же принцип "не платишь за то, что не используешь"? почему, если я не пользуюсь исключениями - то плачу за что-то?

Google

Monday Begins on Saturday
11.02.2017
20:46:13
Вот этот комментарий дело говорит.

Surreal
11.02.2017
20:46:54

Sergey
11.02.2017
20:47:48
норм так совет
хамский правда слегка
я в курсе, что такое стек.

Surreal
11.02.2017
20:48:22
Эээ?

Sergey
11.02.2017
20:48:33
что эээ?

Surreal
11.02.2017
20:48:44
Т.е. говорить человеку почитать про то, в чем он не разбирается - хамство?

Sergey
11.02.2017
20:48:56
в такой форме - да.

Surreal
11.02.2017
20:49:16
А в какой форме, простите, мне писать, чтобы за хама не приняли?

Sergey
11.02.2017
20:50:17
да ни в какой. "читайте больше", "почитайте про стек" - идите выделываться куда-нибудь еще

Sergey
11.02.2017
20:50:30
если разобрался в теме - подскажи
так где конкретно можно увидеть выигрыш от этого механизма?
сколько процентов скорости, на каком алгоритме

Surreal
11.02.2017
20:58:57
А книги и статьи не катируются как источник информации? Зачем мне сейчас вам переписывать устройство процессора и принцип работы стека и вызова функций, если про это уже написано достаточно и написано людьми, которые гораздо умнее меня? Касательно прироста в производительности - больших цифр в реальном мире и нормальном коде ждать не стоит. Компиляторы итак, наверняка, различают большую часть участков, которые можно оптимизировать. Программистам тоже проще писать код, когда не надо беспокоиться об исключениях в используемой функции.
Попробую написать вам синтетический бенч, где будет видно разницу. Но нужно ли оно? У вас есть инструмент, предоставляемый языком, который дает компиляторам большую свободу действий. Так используйте его. Но используйте с умом, а не где попало тыкайте.

Sergey
11.02.2017
21:05:28
по кругу ходим
"с умом" - это где? нашли одно место - push_back и реаллокация места в vector

Anton
11.02.2017
21:06:11
ну человек видимо хочет почитать конкретику. А вы ему предлагаете матчасть пойти почитать. что такое кеш и как проц работает))

Google

Sergey
11.02.2017
21:06:27
лол, да я в курсе что такое кеш, и как процессор работает

Anton
11.02.2017
21:06:47
я условно

Sergey
11.02.2017
21:06:53
да, хочется демонстрации
типа - вот реальный кусок кода. смотрите, как он становится лучше

Nikolay
11.02.2017
21:52:50
пацаны, а есть IDE лучше, чем CLion?

Alex Фэils?︙
11.02.2017
21:53:08
ой, можно в #supapro , пожалуйста

Nikolay
11.02.2017
21:53:25
не, я серьезно спрашиваю
мне не троллить

Admin
ERROR: S client not available

Nikolay
11.02.2017
21:54:03
я просто скептически отношусь к тому, что мне тут кто-то начал рассказывать, что в qt creator можно писать, что угодно
емакс-вим упоминать не будем
так общего назначения есть еще варианты? Code::Blocks?

Stanislav
11.02.2017
21:59:49

Alex Фэils?︙
11.02.2017
22:00:48

Nikolay
11.02.2017
22:01:03

Viktor
11.02.2017
22:01:28
Чем вам так clion не угодил?

Alex Фэils?︙
11.02.2017
22:01:32

Stanislav
11.02.2017
22:01:34
и в последнюю версию добавили поддержку Си тулчейнов, а не только С++

Nikolay
11.02.2017
22:02:23

Google

Nikolay
11.02.2017
22:02:31
спасибо за мнения

Alex Фэils?︙
11.02.2017
22:02:50
да, пожалуйста)

Stanislav
11.02.2017
22:03:16
список что умеет

Sheridan
11.02.2017
22:03:27

Aldar
11.02.2017
22:04:18
I saw a book entitled "Die GNU Autotools" and I thought "My feelings exactly". Turns out the book was in German.

Nikolay
11.02.2017
22:04:22
.
нет, но аргументы неплохие

Alex Фэils?︙
11.02.2017
22:04:49
тут в чате была куча боли, связанная с ним

Stanislav
11.02.2017
22:05:38
автотулсы под виндой без всяких мсисов и цигвином не работают
плюс ко всему

Alex Фэils?︙
11.02.2017
22:06:15
значит, на компы в инсте я ее не смогу поставить без ебли и патчинга, да и хуй бы с ней

Sheridan
11.02.2017
22:06:55
нет, но аргументы неплохие
Что нет? Я только показал тебе что вижу тебя тут. Ты пришел с вопросами сюда, значит имеешь сомнения либо не имеешь своего мнения. В обоих случаях - показательно. Ты не в курсе что умеют опенсорц иде. Но спорить лезешь.

Stanislav
11.02.2017
22:06:56

Nikolay
11.02.2017
22:07:55

Alex Фэils?︙
11.02.2017
22:08:02
?
мсис2 недавно сломала winxp compatibility. Я тут на днях гуглил, почему гит в winxp не пуллит нормально (там ошибка entry point), нашел issue в msys2, и там сказали, что это из-за отказа от совместимости

Nikolay
11.02.2017
22:08:07
и я в курсе, что они умеют

Alex Фэils?︙
11.02.2017
22:08:31
да успокойтесь, все норм