@ProCxx

Страница 2038 из 2477
Constantine
07.05.2018
20:27:00
изменил на no, 17 раз
zero cost abstractions, говорили они. Производительность, говорили они

Anatoly
07.05.2018
20:27:57
zero cost abstractions, говорили они. Производительность, говорили они
ну, ожидаемо, сохранять контекст и восстанавливать на каждой итерации не дается даром

Ignat
07.05.2018
20:36:38
C++ Coroutines - a negative overhead abstraction ™

Google
Igor
07.05.2018
20:58:58
набросал наивный бенчмарк: https://gist.github.com/anatoly-spb/ea34929134454a2b8752932fc30e9744 получил co_yield в ~15 раз медлительней: sum 1073741825 corange(0, 2147483647) took 11990ms. sum 1073741825 range(0, 2147483647) took 776ms. co_yield/range = 15
Спасибо за тест. В x64 разница поменьше - в 13 раз, но все равно использовать это пока надо аккуратно, ждем дальше. В дизассемблере видно что код не оптимизируется, плюс аллокация в куче на всю корутину даже на таком простом примере. Интересно что Гор два года назад хвалился как clang даже аллокации убирает, видимо оптимизатор в MSVC так пока и не допилили.

Igor
07.05.2018
21:13:20
Igor в этой статье советуют /await:heapelide , но у меня не принимает компилятор эту опцию
У меня принимает (15.7 Preview 6), но аллокация остается. На x86 как там и пишут немного хуже - показывает 15 раз. Я думаю разница не очень важна, все равно порядок ясен :)

Alexander
07.05.2018
21:14:33
погоди, вы ожидаете, что вижловый компил будет оптимизировать аллокации? ?

вы серьёзно? ?

Igor
07.05.2018
21:16:41
Ну без этого пользоваться корутинами и постоянно натыкаться на лишние аллокации не очень хочется, правда? Гор обещал светлое будущее без них.

Alexander
07.05.2018
21:25:15
не стоит такого ждать от вижлового компилятора, ох не стоит

Polina
08.05.2018
08:46:40
всем привет! вечером 15 мая в московском офисе Яндекса пройдет очередная встреча сообщества C++ User Group с участием спикеров из NVIDIA и Яндекс.Такси. поговорим о метапрограммировании, шаблонах, распределенности и отказоустойчивости – присоединяйтесь.  участие бесплатное, подробности и регистрация по ссылке https://events.yandex.ru/events/yagosti/15-May-2018/

Google
Alexander
08.05.2018
08:50:31
Внимание! Это ловушка! Анонсами от Яндекса всегда Наташа Макарова занималась!

А сейчас, вполне возможно, нам попытаются сказать, что Наташа не может пока что

Polina
08.05.2018
08:50:59
Наташа в декрете, теперь я – привет ?

Alexander
08.05.2018
08:51:07
как я и говорил

Polina
08.05.2018
08:51:24
кругом враги!

Alexander
08.05.2018
08:51:31
Никто от С++ декретом не откосит

Matwey
08.05.2018
08:52:16
Внимание! Это ловушка! Анонсами от Яндекса всегда Наташа Макарова занималась!
Ты еще скажи, что ловушка, потому-что адрес встречи не на Льва Толстова

abiogenesis
08.05.2018
08:53:05
Будет ли трансляция для немосквичей?

Polina
08.05.2018
08:53:08
и Яндекс ненастоящий, и Наташа не та ((

Alexander
08.05.2018
08:53:13
Пахнет всё разводом каким-то. Да и не знаю я, что это за Полина такая

Polina
08.05.2018
08:53:14
но вы все равно приходите )

трансляции не будет, к сожалению

Matwey
08.05.2018
08:53:38
Alexander
08.05.2018
08:53:43
При Наташе всегда была, по крайней мере

Polina
08.05.2018
08:54:10
ого! а вы откуда знаете? ))

Alexander
08.05.2018
08:54:40
А как сейчас там с организацией... всё под ОЧЕНЬ большим вопросом

Polina
08.05.2018
08:54:41
да, запись планируем

Google
Igor
08.05.2018
08:55:33
всем привет! вечером 15 мая в московском офисе Яндекса пройдет очередная встреча сообщества C++ User Group с участием спикеров из NVIDIA и Яндекс.Такси. поговорим о метапрограммировании, шаблонах, распределенности и отказоустойчивости – присоединяйтесь.  участие бесплатное, подробности и регистрация по ссылке https://events.yandex.ru/events/yagosti/15-May-2018/
Составлю конкуренцию. 16 мая в СПб пройдет очередная встреча C++ User Group в офисе DINS на Старо-Петергофском пр., д. 19. Андрей Давыдов из JetBrains расскажет про текущее состояние корутин в C++. Места еще есть, надо зарегистрироваться на https://www.meetup.com/St-Petersburg-CPP-User-Group/events/250081646/.

abiogenesis
08.05.2018
08:55:46
Где потом её найти? По той же ссылке?

Alexander
08.05.2018
08:56:50
Вот Игорь проверенный человек

я даже запиню это дело

Alex Фэils?︙
08.05.2018
08:58:09
Где потом её найти? По той же ссылке?
я в @ProCxxNews сегодня вечером планировал все мероприятия выложить

Igor
08.05.2018
08:58:36
Вот Игорь проверенный человек
Спасибо :) Продолжим там жаловаться на корутины в MSVC.

Alexander
08.05.2018
08:59:30
Спасибо :) Продолжим там жаловаться на корутины в MSVC.
да что там жаловаться то. я бы не смотрел сильно на них до того, пока их примут (а их пока что не приняли, напоминаю)

Igor
08.05.2018
08:59:30
Будет ли запись?
Вроде должна быть, но это не офис JetBrains, возможны накладки :)

Alexander
08.05.2018
09:00:09
а что касается производительности - то рано ещё говорить об этом вообще. особенно в случае msvc

Matwey
08.05.2018
09:00:20
Господа, у меня вопрос. Кто-нибудь пробовал собирать что-нибудь Visual Studio под ARM? Для этого модного 10 виндовса на ARM-лэптопах.

Matwey
08.05.2018
09:01:29
грешен был
А есть где почитать, как это делать? Работает ли кросс-конопляция. Я очень сильно хочу в Appveyour добавить сборку под это дело, если получится.

Admin
ERROR: S client not available

Alexander
08.05.2018
09:02:09
а как ты собирал через visual gdb?

Matwey
08.05.2018
09:07:33
если аппвейор, то надо его просить другую developer console открывать
Ну вот сейчас я зову cmake условно так: cmake -G"Visual Studio 14 Win64". Я так понимаю, что нужно будет переехать на 17 студию сначала и просто позвать нужный генератор от ARM? Или всё гораздо хитрее?

Google
Alex Фэils?︙
08.05.2018
09:07:57
там есть вроде генератор для ARM

cmake -G "Visual Studio 17 ARM"

Matwey
08.05.2018
09:08:32
О, спасибо!

Antony
08.05.2018
09:59:25
Вот Игорь проверенный человек
Полина тоже проверена Антон одобряет https://pp.userapi.com/c831209/v831209867/ebb11/xqZal-sITGk.jpg

Так что приходите на https://events.yandex.ru/events/yagosti/15-May-2018/ Будет всё как все любят: с шаблонами, записью и живым общением

Anatoly
08.05.2018
10:07:11
Во, @antoshkka Антоша, хорошо что ты появился. Скажи в gcc, clang-е уже можно щупать coroutine? Просто вчера наткнулись на деградацию производительности (co_yield проигрывает 15-17 раз простому for loop) при работе с генераторами в Visual Studio 2017, в частности в их последнем релизе 15.7.0: https://gist.github.com/anatoly-spb/ea34929134454a2b8752932fc30e9744 Хотелось бы узнать, как обстоят дела у партнеров.

Kirill
08.05.2018
10:16:20
пользуясь случаем ткните меня когда можно будет пощупать constexpr allocator

Alexander
08.05.2018
11:05:14
глянь у Антона в репе

Kirill
08.05.2018
11:05:44
о, посмотрю спасибо

Alexander
08.05.2018
11:05:45
там патченый std::string и std::vector (навесили чуточку constexpr) ну и сам аллокатор

а до ввода в стандарт такого ещё очень долго

Kirill
08.05.2018
11:07:42
там патченый std::string и std::vector (навесили чуточку constexpr) ну и сам аллокатор
офигеннос, спасибо. мне для доклада нужно делать constexpr const экземпляры класса, где все параметры меняющиеся или неизвестные в компайл тайме лежат как пимпл. а на стеке выделять пимпл не комильфо

Alexander
08.05.2018
11:08:34
там очень простой аллокатор, тебе понравится

не совсем полноценный, но рабочий

Kirill
08.05.2018
11:09:51
тоесть какбе у нас класс, часть полей которого незивестна в компайл там, мы берем указатель и аллоцируем его compile time. потом в рантайме меняем если нужно. в итоге тот класс который какбе частично известен компайл тайм аллоцируется полностью в компайл тайме, растворяется в секции code и изредка гоняет в ram за меняющимися параметрами.

Alexander
08.05.2018
11:10:32
а что у вас за компилятор?

Kirill
08.05.2018
11:10:52
у меня доклад по микроконтроллерному коду готовится просто

Google
Kirill
08.05.2018
11:11:01
там можно и llvm и gcc для арма

Alexander
08.05.2018
11:11:13
а версии какие?

Kirill
08.05.2018
11:11:37
ща посмотрю, вроде ветка была портирована, но посмотрю

Страница 2038 из 2477