Size: a a a

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

2019 August 27

AB

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

SS

Sergey Samokhvalov in Эликсир и Вунш
iolists — чисто список, состоящий из бинарей, iodata — список из нод iodata или iolists
источник

SS

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

SS

Sergey Samokhvalov in Эликсир и Вунш
ну потому что есть sendmsg/writev
источник

AB

Alexey Bolshakov in Эликсир и Вунш
я уже запилил плохую либу (nif), чтобы бинари по грязному модифицировать )
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
и обычный send, реализуется в ядре через sendto, который реализуется через sendmsg, так что в итоге все к нему и так и так приходит
источник

SS

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

SS

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

SS

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

SS

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

SS

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

SS

Sergey Samokhvalov in Эликсир и Вунш
это как StringBuilder в java
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
а если в цикле будешь добавлять через a <> b ну или там <<A / binary, B / binary>> то разумеется получишь лям переаллокаций
источник

AB

Alexey Bolshakov in Эликсир и Вунш
то, что костылил  в процессе самого капа - самое, пожалуй, интересное - это упаковка строк в длинные числа ))) это прям реально до 50% экономии памяти дало
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну в принципе вариант... хотя вроде бинари тоже норм должны были быть. а можешь минимальный тест скинуть, где бинари занимают больше?
источник

AB

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

AB

Alexey Bolshakov in Эликсир и Вунш
а тут прямо в ЕТС цифры лежат и сами по себе, как вешь в себе. никуда ходить не надо
источник

SS

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

SS

Sergey Samokhvalov in Эликсир и Вунш
а, в ets
источник

SS

Sergey Samokhvalov in Эликсир и Вунш
ну в ets фиг знает
источник