170 похожих чатов

Подскажите пожалуйста, как работает переключение стеков в го Если я данную

структуру буду инициировать в примерно в тысячи горутинах две на каждую рутину. Стековерфлов мне обеспечен?
const THREADS = 3
const BufferSize = 14560

type chunk struct {
buffer [THREADS * BufferSize]byte
size int
pointer int
error error
wg sync.WaitGroup
receivers [THREADS]*http.Client
}

func newChunk(dial func(network, addr string, tlsCfg *tls.Config, cfg *quic.Config) (quic.EarlySession, error)) chunk {
chk := chunk{
size: 0,
pointer: 0,
error: nil,
}
for i := 0; i < THREADS; i++ {
cli := http.Client{
Transport: &http3.RoundTripper{
QuicConfig: &quic.Config{
KeepAlive: true,
},
Dial: dial,
},
}
chk.receivers[i] = &cli
}
return chk
}

3 ответов

8 просмотров

Если у вас включен своп в системе, если я правильно помню, то рантайм его начнёт утилизировать жёстко, если превысит количество доступной физической памяти. Сама горутина занимает что-то около 2.5 кбайт, где 2кбайта это изначально аллоцированный стек Здесь можно подробнее прочитать https://dave.cheney.net/2013/06/02/why-is-a-goroutines-stack-infinite

в кучу пойдет скорее всего.

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта