Vasily
А не тот ли это гондон, который периодически в компиляторном чате отжигает?
Ayrat
Я кстати из компиляторного ливнул полгода назад, так заебало слушать каждый день про раст вс хаскель
Vasily
Всякую хуйню пишет с умным видом
EgorBo
и стало получш
Ilya
а как тогда статический массив лежит на стеке?
Ilya
Ни одного срача не пропустил?
Roman
походу лавочка прикрылась
EgorBo
а если на стэке нет места на 256 элементов?
если от 2мб стека у тебя нет места для 256 элементов чего либо то беда в любом случае
Anonymous
Anonymous
EgorBo
стекаллок в дотнете эмитит стек пробинг
EgorBo
Это что такое?
проверка что есть место в стеке
Doge
забавно
Если ты хочешь на куче выделить массив в расте, то у тебя для этого есть Vec, либо Box::new([0;256]). Но вторая запись может на стэке тоже выделить, если у компилятора плохой день будет. Обещают placement new сделать рано или поздно, но непонятно когда будет в реальности
Ilya
проверка что есть место в стеке
Аааа... Кстати апи то сделали, чтобы смотреть на оставшееся место в стеке?
EgorBo
но я забыл
Roman
проверка что есть место в стеке
а если места нет, то в кучу пихает или падает?
Ilya
да всегда было вроде
Шо? Какое? Там в рослин какой то хак был
EgorBo
а если места нет, то в кучу пихает или падает?
стек оверлоу экспешн наверное кидает, а может и в хип - я не знаю если честно)
Ilya
RuntimeHelpers.ProbeForSufficientStack
А, да это херня
Ilya
Он там проверяет 64 кб
EgorBo
но вообще когда в стеке заканчивается место - это что-то экстримальное
EgorBo
разве что если вы интерпретатор пишите
EgorBo
или огромные массивы насильно аллоцируете (зачем)
Roman
разве что если вы интерпретатор пишите
ну либо статическими массивами злоупотребляем
Анна
Ну рекурсия без выхода
Λ ll И K X
Ну рекурсия без выхода
хвостовая соптимайзится же
EgorBo
Ну рекурсия без выхода
ну в дотнете есть tail call optimization включая раскрутку
EgorBo
но не всегда сработает да, при каком-нибудь сложном обходе дерева можно в СО да
Λ ll И K X
но не всегда сработает да, при каком-нибудь сложном обходе дерева можно в СО да
просто надо поиск в глубину через очередь делать а не через рекурсию
Λ ll И K X
(капец мы тут все умные ваще)
Roman
ну в дотнете есть tail call optimization включая раскрутку
тут недавно кто-то ловил СО на сериализации, пушто пропертя рекурсивная была)
EgorBo
размер стека можно задать руками у треда при создании 😉
Anonymous
а если места нет, то в кучу пихает или падает?
так в том-то и смысл моего коммента "забавно", что в кучу
Anonymous
в этом как бы базовая интуиция
Anonymous
мол, на стэке не хватило - ну и хуй с ним
Vladimir
Слушайте, еще вопрос по пульсару) Есть кроме Receive еще метод BatchReceive, который собирает батч, причем скажем если за минуту весь батч не собрался, то вернуть то что есть. Поэтому вопрос такой, если я добавлю туда CancellationToken, по его отмене что должно произойти - вернуть TaskCancelled эксепшн как в обычном ресиве, или просто вернуть то что есть на данный момент без эксепшна, как будето обычный таймаут прошел
Anatoly
Cancelled means cancelled
Danil
r/ #news Официально: штат Орегон становится первым штатом США, который отныне признаёт законным хранение всех наркотиков (включая кокаин, героин и метамфетамин) для личного использования.
Vasiliy
Vasiliy
Воу воу воу
Хаскель
Кто же на чистяк будет кодить?
Tako
размер стека можно задать руками у треда при создании 😉
кстати,а на маке и винде стеки у тредов разного обьема чи не? у меня просто одинаковый код вылетал на маке в со,а на винде нет(там была типа рекурсивная штука для того чтобы получить копию обьекта)
Vladimir
Экзепшен это исключительная ситуация и возвращать данные вместе с ним это стрёмно
так я не предлагал варианта такого) или эксепшн возвращать или то что есть на текущий момент в батче
Ilya
Хранить значит можно, а брать где?
Там новость некорректная. Декриминализировали, а не легализовали.
Ilya
То есть всё равно могут штраф до 100 баксов дать.
Ilya
И эти деньги пойдут в фонды реабилитации.
Vladimir
А что является параметром? Размер или время?
в обычном случае и то и другое, батч возвращается или когда размер набран или когда время истекло. Теперь надо понять что делать с юзерским канселейшн токеном
Ayrat
потому что для раннего выхода обычно другие механизмы используются
Ayrat
ну типа мы не отменяем же батч, мы просто его дёргаем раньше
Ayrat
так что я бы ожидал от отмены - отмены
Vladimir
ок, раз за это все проголосовали, то так и сделаю)
Vladimir
неа, я его не стал имплементить
Vladimir
Может тогда observable?
нет, просто два метода Receive() и ReceiveBatch()
Ayrat
Я бы ожидал от стриминг решения стрим
Vladimir
а чо так?
а мне кажется это не очень полезная абстракция
Ayrat
а мне кажется это не очень полезная абстракция
Почему? Мне кажется очень даже полезной
Vladimir
ну смотри, основной кейс - получил сообщение, если получилось обработать, надо сделать ack, если нет, надо словить эксепшн обработки и сделать nack