
Alex
16.05.2018
09:28:13

Ilia
16.05.2018
09:28:30
Точно на переменном?
Понимать надо!

Google

Alex
16.05.2018
09:29:49
Вообще-то, гироскутер

Denis
16.05.2018
09:32:39
впрочем, я, мягко говоря, не знаток ни джавы, ни дживиэма)

39170
16.05.2018
09:44:48
первая ссылка в гугле — https://stackoverflow.com/a/7809300
Спасибо, но пост не отвечает на вопрос. Это абсолютная оценка стоимости JNI-вызовов, а не относительная оценка с граалем. Jit-компиляция и foreign function callы достаточно сложная тема касательно оценки производительности. Оценивать, наверное, нужно на реальных проектах. Поэтому интересно, почему и когда грааль может быть быстрее
@zamazan4ik ты ж уже игрался? Мб, интересно будет забенчмаркать?

Олег
16.05.2018
10:03:37
Расскажите что-нибудь хорошее про stackless-корутины. По крайней мере, что там в бусте. Я так понял, их «stackless» выражается только в том, что при переходе в работу/ожидание их настоящий стек копируется куда-нибудь в обычныю память и там живёт?

Max
16.05.2018
10:05:00
нет. ты просто делаешь статик переменные и они сохраняются между вызовами
а стек копировать весь каждый раз при переключении контекста это такой оверхед жирный
в бусте стеклесс только в асио вроде
в coroutine там стековые. стек выделяется ммапом, как у больших мальчиков

Олег
16.05.2018
10:06:37
Вот я и удивился. Как тогда можно из корутины вызвать другую корутину?

Max
16.05.2018
10:07:34
я не пользуюсь безстековыми. может с ними както можно чтото писать серьезнее хелловорлда, но я не знаю такого способа.
а на стековых писать код очень удобно. я даже не знаю есть ли чтото круче на земле

Google

Олег
16.05.2018
10:16:26
То есть, ответ «никак». Напоминает разницу между питонами, где в обоих есть генераторы, но в третьем есть yield from, а во втором люди обмазываются костылями.

Spoonson
16.05.2018
10:19:41
разве никак? Может я конечно неправильно их понимаю, но вызывать можно. Стаклесс роутина это же (условно) обьект со всеми переменными + индекс текущего участка кода, куда мы прыгнем во время очередного входа в рутину. Что мешает вызывать из рутины повыполнять другую рутину и вернутся?

Max
16.05.2018
10:23:04

Олег
16.05.2018
10:24:08

Spoonson
16.05.2018
10:28:01
Выходит что так, если хендлер рутины не глобальный. Но тут я не очень уверен. Я бы хотел поиграться с текущей реализацией пропозала рутин, но я так понимаю она есть только в msvc

Aidar
16.05.2018
11:04:08
Дано: источник - массив чаров
назначение - под какой-то
Что лучше кастануть первое ко второму или второе к первому?

Igor
16.05.2018
11:09:34
Дано источник: строка, назначение: файл, что лучше, прочитать строку из файла или записать строку в файл?
Можно все же как-то побольше осмысленности?)

Aidar
16.05.2018
11:10:00

Igor
16.05.2018
11:10:26
Ну вот ты и ответил на свой вопрос!)

Aidar
16.05.2018
11:10:42
Может там есть разница?
Или стилевая хотябы
Что-то мне подсказывает что каст источника + оператор= хуже

Igor
16.05.2018
11:12:31
Да, если кастануть под в массив - будет нечитаемая обрывающаяся на первом 0 строка, а если массив в под - будет както забитый данными под
Может все же расскажешь, что ты пытаешься сделать?

Aidar
16.05.2018
11:17:54
Обосновать выбор не могу

A.D.
16.05.2018
11:24:21
А видео будет? я бы про самопальные фьючеры посмотрел
24 мая в Санкт-Петербургском офисе компании JetBrains пройдет встреча, организованная C++ User Group. На встрече Денис Кормалёв расскажет о реализации Future и Promise своими силами, и как он с его коллегами пришли к такому решению.
Подробности и регистрация - по этой ссылке:
https://www.meetup.com/ru-RU/St-Petersburg-CPP-User-Group/events/250081776/?eventId=250081776
#meetup #jetBrains #cppUserGroud #спб #питер #future #promise #async
хотя ссылки на гитхаб мне бы хватило )
@DenisKormalev

Google

Denis
16.05.2018
11:26:17

A.D.
16.05.2018
11:34:03

Denis
16.05.2018
11:34:32
тогда видос
если джетбрейнс сделает, то будет :) говорят, что обычно делают

A.D.
16.05.2018
11:35:12
круто

Denis
16.05.2018
11:35:24
но вообще если достаточно гитхаба, то я могу после митапа скинуть пдфку с презентацией, там упрощенно, но код есть. Правда почти без пояснений, они все на словах все же

A.D.
16.05.2018
11:37:19
ок, после митапа дёрну, возьму все, что есть )

Alexander
16.05.2018
11:37:43

Antony
16.05.2018
12:00:55

Ned Ogl
16.05.2018
14:17:56
а скажите, в С++ уже намутили GC? я просто давно не в С++, работаю по D, там с ним есть некоторые заморочки

Aidar
16.05.2018
14:18:18
Нет

Oleg
16.05.2018
14:18:36
народ, кто-нибудь юзает критор для своих make-based проектов?

Anatoly
16.05.2018
14:18:41

Ned Ogl
16.05.2018
14:18:50
это не GC

Aidar
16.05.2018
14:18:50
Это не он

Ned Ogl
16.05.2018
14:18:56
это базис под него, как я понимаю
для подсчёта ссылок

Anatoly
16.05.2018
14:19:24

Aidar
16.05.2018
14:19:38
В си++ просто не пишут так чтобы был нужен gc обычно, потомучто объекты в стеке
Там только эпсилон случаев где он мог бы быть применим

Ned Ogl
16.05.2018
14:20:48
ну да

Google

Ned Ogl
16.05.2018
14:20:59
это грустное "ну да"
потому что в славном D на нём завязана удобная работа с массивами, строками, и проч

Anatoly
16.05.2018
14:21:24
ну да
на худой конец, аллокаторы заюзай

Ned Ogl
16.05.2018
14:21:39
но я щас очень жёстко наебнулся об него

Aidar
16.05.2018
14:21:42
Насколько я знаю в Д он отключаемый

Ned Ogl
16.05.2018
14:21:50
плохо знаешь

Admin
ERROR: S client not available

Spoonson
16.05.2018
14:21:55

Ned Ogl
16.05.2018
14:21:59
отключишь и потеряешь часть полезного функционала
чуть не до обработки исключений

Anatoly
16.05.2018
14:22:12

Alexander
16.05.2018
14:22:22

Ned Ogl
16.05.2018
14:22:32
типа для контроллеров

Aidar
16.05.2018
14:22:56

Ned Ogl
16.05.2018
14:22:59
и раздуть применимость betterC

Alexander
16.05.2018
14:23:06
я про эти попытки слышал. Но я считаю, что это обречено на провал
так как сама либа должна без GC работать, а вот само приложение - это уже на вкус и цвет

Google

Ned Ogl
16.05.2018
14:30:26
А чо там?
есть три объекта, создаются в дочернем потоке, владеют друг другом по схеме: A -> B -> C
в деструкторе A пишу "передай привет В". привет заключается в вызове метода класса B (нестатического)
программа при завершении сегфолтится
отладка показала, что тред успешно завершается, вся память под объекты в нём становится недоступна, и начинает затираться в рандомной последовательности. в итоге когда взывается деструктор А, объекта В чаще всего уже не существует
и всё это в порядке нормы, "так и должно быть"
а конструктива для финализации объектов не придумано кроме:
- юзай без ГЦ (отвал исключений и прочих радостей)
- юзай в scope (объект заворачивается в структуру и финализируется нормально)
- дёргай финализатор ручками
даже когда баба бросила не было так больно

Spoonson
16.05.2018
14:31:58

Anatoly
16.05.2018
14:32:50

Ned Ogl
16.05.2018
14:32:56
в яве, кнешн

Spoonson
16.05.2018
14:33:27
https://stackoverflow.com/questions/1910194/how-does-java-garbage-collection-work-with-circular-references

Anatoly
16.05.2018
14:33:30
если A владеет B, B владеет С, и создавались они в этой же последовательности, то кровь из носа они уйдут из жизни только при уничтожении A.


Ned Ogl
16.05.2018
14:34:54
100% такого в детерминированной программе происходить не может
это у вас в С++ объекты детерминированно дестроятся
в Ди ГЦ похуй
вплоть до того, что поле объекта может быть уничтожено раньше чем вызовется деструктор объекта
у меня это и происходит. поле-объект уничтожается раньше вызова деструктора владеющего класса

Anatoly
16.05.2018
14:35:14

Ned Ogl
16.05.2018
14:35:31
да, я рассказывал о том как меня наебал дишный сборщик, не?

Anatoly
16.05.2018
14:35:47
сорри, выбился из контекста

Ned Ogl
16.05.2018
14:36:04
это происходит так потому, что нет слабых ссылок. и если в недоступной памяти он начнёт собирать объекты, циклическое владение он смело сольёт
потому он тупо в рандомном порядке её затирает?
иногда позванивая деструкторами
как-то так