Size: a a a

Эликсир и Вунш

2019 August 27

SS

Sergey Samokhvalov in Эликсир и Вунш
там не так уж много имен и этих названий
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
присвоить им числовые значения
источник

AB

Alexey Bolshakov in Эликсир и Вунш
с бинарями - там еще и со скоростью начиналась проблема. скорость наращивания объема бинари аллокатора какая-то была не очень
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну или атомы, которые тут могут меньше занимать
источник

AB

Alexey Bolshakov in Эликсир и Вунш
могу предположить, что там идет эта вот связь того, что в етс кладется ссыль на бинарь итд
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
их в отдельный модуль экспортнуть
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
можно даже сгенерить модуль на лету, уж в эликсире-то не особо большая проблема
источник

AB

Alexey Bolshakov in Эликсир и Вунш
можно. пробовал
источник

AB

Alexey Bolshakov in Эликсир и Вунш
ладно. мы тут заспамили, давай заканчивать
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
после второй фазы перегенерить)
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
Alexey Bolshakov
с бинарями - там еще и со скоростью начиналась проблема. скорость наращивания объема бинари аллокатора какая-то была не очень
я не знаю, какая у эрланга политика аллокации, но стандартная политика — это увеличивать объем всегда в 2 раза, к примеру. поэтому разумеется, есть разница, выделять 10 кбайт или 200 мегабайт
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
и это не только у эрланга, такое по сути везде
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
вот представь себе, что у топ решений аллокаций не было вообще, при обработке
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну по крайней мере на основные запросы
источник

AB

Alexey Bolshakov in Эликсир и Вунш
много и по чуть чуть - оно медленно выделяет
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
даже во втором, я думаю, обошлось все заранее выделенным буфером
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну так в реальности тебе нужно выделять будет не по чуть чуть
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
а тебе нужно переаллоцировать уже готовый кусок (довольно большой) памяти
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
вот a<>b. скажем, если sizeof(a) = 200 байт, sizeof(b) = 1 байт, то тут вообще скорее всего аллокаций не будет
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
если у тебя sizeof(a) = 1мбайт, то тебе нужно сначала выделить новый участок памяти, размером 2 метра, туда запихнуть всю a, потом добавить b, даже если sizeof(b) = 1 байт, затем освободить старую память
источник