Size: a a a

2019 December 26

ЕО

Евгений Омельченко in Go-go!
Ну не обязательно stdlib писать, там много чего ненужного и сложного (типа alloc'а)
источник

DP

Daniel Podolsky in Go-go!
в каком это смысле оно ненужное?
источник

ЕО

Евгений Омельченко in Go-go!
В теоретическом, опять же
источник

ЕО

Евгений Омельченко in Go-go!
Ты можешь сам аллоцировать память с помощью mmap'а и sbrk, не полагаясь на аллокационные алгоритмы, например
источник

ЕО

Евгений Омельченко in Go-go!
Всё-таки рантайм и стандартная либа это несколько разные вещи
источник

MM

Marat Mkhitaryan in Go-go!
а как стандартные либы общаются с ОС?
источник

SD

Sunny Daily in Go-go!
Marat Mkhitaryan
а как стандартные либы общаются с ОС?
syscalls?
источник

MM

Marat Mkhitaryan in Go-go!
Sunny Daily
syscalls?
там же не все через сискаллы, например когда переменную выставляю
источник

SG

Sergey G in Go-go!
Регистр*
источник

ЕО

Евгений Омельченко in Go-go!
Для создания переменной тебе не нужно общаться с ОС, если у тебя уже есть память
источник

SG

Sergey G in Go-go!
А я почему то прочитал что работа с ос через переменную
источник

MM

Marat Mkhitaryan in Go-go!
Например в питоне нельзя CPU bound задачи ставить на asyncio, а у голанг с горутинами cpu bound можно давать?
источник

ЕО

Евгений Омельченко in Go-go!
В большинстве случаев ты вообще со стеком работаешь, пока не вызовешь самостоятельно alloc. После вызова alloc либа обращается к общему куску памяти, где лежит таблица аллокаций, ищет есть ли свободное место куда можно приткнуться, и если нет, то выделяет кусок через сисколлы sbrk или mmap.
источник

MM

Marat Mkhitaryan in Go-go!
а эти mmap итд это команды, но изнутри они что из себя представляют?
источник

zl

ziggy lucid in Go-go!
а применял кто caddy в реальных проектах? годится ли на замену nginx?
источник

MM

Marat Mkhitaryan in Go-go!
Marat Mkhitaryan
а эти mmap итд это команды, но изнутри они что из себя представляют?
это апи для общения с RAM? мне вот интересно как этот процесс общения происходит
источник

DM

Dmitry M in Go-go!
Marat Mkhitaryan
а эти mmap итд это команды, но изнутри они что из себя представляют?
источник

SG

Sergey G in Go-go!
Почитай книгу по nasm тут все равно нормально не ответить
источник

SG

Sergey G in Go-go!
Она маленькая
источник

ЕО

Евгений Омельченко in Go-go!
Marat Mkhitaryan
а эти mmap итд это команды, но изнутри они что из себя представляют?
Это системный вызов, он внутри ядра реализован. Там приблизительно такой же алгоритм — есть таблица виртуальных страниц памяти, ядро там выделяет новую страницу, которую никуда не мапит. Когда процесс пытается обратиться к этой странице, то возникает page fault, специальное прерывание, ядро его обрабатывает и выделяет процессу уже реальную память (это если включен оверкоммит)
источник