Size: a a a

Rust — русскоговорящее сообщество

2017 November 23

AV

Alexander Vershilov in Rust — русскоговорящее сообщество
Vladimir
Ты в чате раста, не забывайся
ясно же что как бы допилим линейные типы, то раст станет не нужен
источник

С

Серж in Rust — русскоговорящее сообщество
байтолюбы на си специально вставляют padding в свои стркутурки, чтобы было кратно 4 и видно что кратно
источник

С

Серж in Rust — русскоговорящее сообщество
это бест практис
источник

V

Vladimir in Rust — русскоговорящее сообщество
Anton TrionProg
Просто GC весьма умный, он заюзает кучу, когда объект редкий, или, пулы для быстрых.. Когда-то натыкался на уровни кучи в жабе, но.. вроде и в jemalloc тоже все по пулам раскидано, правда по пулам размера степени 2ки, а не специализированных под определённый тип (типа Vec<T>)
А зачем тебе специализированные пулы? Хранить Vec<Box<T>>?
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
Другое дело, как GC чистит кучу, вот тут то у меня много нареканий. например, в системе реального времени НЕЛЬЗЯ повесить систему, пока GC думает. Там должно быть все прозрачно. Сделал Arc::new значит аллокнул память
источник

Aq

A64m AL256m qn[cores] in Rust — русскоговорящее сообщество
Я думал, это чат Го, а название ироническое
источник

V

Vladimir in Rust — русскоговорящее сообщество
Alexander Vershilov
ясно же что как бы допилим линейные типы, то раст станет не нужен
Вот и бегите в свой хаскель
источник

st

sugar baby tonight in Rust — русскоговорящее сообщество
A64m AL256m qn[cores]
Я думал, это чат Го, а название ироническое
Когда я перестану смеяться с шуток про го?
источник

С

Серж in Rust — русскоговорящее сообщество
расскажи нам парочку
источник

st

sugar baby tonight in Rust — русскоговорящее сообщество
Серж
расскажи нам парочку
Да весь этот чат - шутка про го
источник

AV

Alexander Vershilov in Rust — русскоговорящее сообщество
Vladimir
Вот и бегите в свой хаскель
я не понимаю вашу иронию
источник

AV

Alexander Vershilov in Rust — русскоговорящее сообщество
скажешь, что в языке без ГЦ при особом старании можно лучше любой кейс решить - не нравится
источник

AV

Alexander Vershilov in Rust — русскоговорящее сообщество
скажешь, что раст не нужен - не нравится
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
Хах, а где Box хранится? напрямую в Jemalloc-е вроде бы(хотя можно кстати это подправить, ведь тип и его размер нам известны). Те Vec<Box<T» это массив из ссылок, имеющий длину 44 байта, но юзающий блок кучи в 64, и куча T, имеющих длину 33, но юзающих блоки в 64. И вот, память куда-то делась? А если запишешь Vec<T>, то получишь один сегмент длиной 44*33=1452, который будет юзать сегмент длиною 2048

Вроде так jemalloc устроен, как я понял
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
А зачем тебе специализированные пулы? Хранить Vec<Box<T>>?
источник

ML

Mike Lubinets in Rust — русскоговорящее сообщество
А говоришь по памяти не раскидано
источник

ML

Mike Lubinets in Rust — русскоговорящее сообщество
Vec:: with_capacity(1452) будет выглядешь как сегмент в 1452 элемента
источник

ML

Mike Lubinets in Rust — русскоговорящее сообщество
Так же как Vec созданный из итератора в 1452 элемента
источник

AT

Anton TrionProg in Rust — русскоговорящее сообщество
Сделал ошибочку, длина массива ссылок 44 байта, но ссылка, допустим 4 байта, тогда 11*33 выйдет

В том то и дело, что куча выделит 2048 байт, и 550 потратятся. Куча вроде выделяет блоки размером степени 2ки, потому и считается оптимальным ее так же аллокать.
источник

Oℕ

Oleg ℕizhnik in Rust — русскоговорящее сообщество
а вот представим, что один мой друг некогда написал такой кот
https://gist.github.com/Odomontois/f1ed29ea121564aa009facd0229c5fec
но написав его он увидел ,что джавовый аналогичный всё равно гоняет в полтора -два раза быстрее
и он такой думает: ЧЯНДТ
помогите моему другу, время пошло
источник