Αλεχ
эм
Αλεχ
и как тогда жить?
Cat
выделять, пока не словишь OOM
Αλεχ
не, не вариант
Αλεχ
function getAllServiceNumbers() public view returns(bytes30[]) { bytes30[] memory result = new bytes30[](getRequestsCount()); for (uint64 i = 0; i < result.length; i++) { result[i] = nodes[i].request.serviceNumber; } return result; }
Αλεχ
например вот такая функция
Αλεχ
как мне без выделения памяти вернуть результат? :(
Nikita
принимать буфер?
Αλεχ
солидити так не умеет
Nikita
страдать?
big
Αλεχ
страдать?
типа того
Berkus
как мне без выделения памяти вернуть результат? :(
It is geared towards code that makes a handful of initial dynamically sized allocations, and then performs its heavy lifting without any further allocations.
123
Я правильно понимаю, что diesel сам должен будет сгенерировать модуль schema.rs? Или же он генерирует лишь diesel.toml, а сам файл с макросом-описанием таблицы я должен врчную писать? (После diesel setup ничего не происходит по части вопроса)
Αλεχ
мне надо каждый вызов функции возвращать массив
Berkus
там дальше написано что-то про free-lists значит оно может выделять И освобождать память
Berkus
не возвращается только пул уже аллоцированный, но внутри него все должно быть ок
Αλεχ
я ща смотрю доку по самому парити-васм
Αλεχ
ибо там есть alloc::Vec
Αλεχ
значит не все так уж плохо
Αλεχ
просто не хочу течь
Αλεχ
по wasm
Berkus
да, в примерах они тоже выделяют и освобождают
Berkus
поэтому если результат не long-lived то течь не должно
Αλεχ
ну, мне надо две вещи
Αλεχ
1 - глобальное хранилище, которое будет только увеличиваться и никогда не овсобождаться 2 - локальная аллокация в методах
Berkus
ну тогда по идее ок
Berkus
1 - глобальное хранилище, которое будет только увеличиваться и никогда не овсобождаться 2 - локальная аллокация в методах
https://github.com/rustwasm/wee_alloc/blob/master/wee_alloc/src/imp_wasm32.rs#L14 вот здесь она будет увеличиваться если нужно, остальные аллокации как обычно
Nikita
fortran-style: выдели сразу здоровый буфер и пили аналог sbrk свой
Berkus
Пиши в память, возвращаю адрес
wee-alloc это всё делает, только лучше
Berkus
fortran-style: выдели сразу здоровый буфер и пили аналог sbrk свой
wee-alloc это всё делает, только ГОРАЗДО лучше
Berkus
включая правильный sbrk
Αλεχ
там есть ограничение на то, что можно хранить между вызовами
Αλεχ
так что огромный буфер в любом случае такое себе
Αλεχ
короч завтра буду экспериментировать
Alexander
В общем меня похоже перекомпилили на каком-то другом железе и я второй в k-nucleotide
Alexander
Первый там затюнил совсем другую часть - чтение из stdin от старого решения, если б у него забрать это, то я бы точно на первое по расту вылез, но как-то думаю стыдно такое делать, надо что-то глобальнее.
Alexander
պլհկ
выглядит как benchmarksgame
պլհկ
https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/knucleotide.html
Berkus
спс
Loyd
Все равно сосете у сишников(
Loyd
А там clang версии первого есть?
Alexander
Все равно сосете у сишников(
Ну я о том же, пока C не обгонится - смысла коммитить нету. Хотя там не особо у C честно - все должны юзать относительно стандартные хеши, а у C ехать нет и они могут любые по сути.
Alexander
Все равно сосете у сишников(
Кстати C обогнал Раст относительно недавно, до этого Раст был на втором долго.
Loyd
А кресты за счёт чего?
Loyd
Мне лень смотреть сорцы(
Loyd
Про хеши слышал и раньше
Berkus
А кресты за счёт чего?
за счет перехода на си? )
Berkus
Кстати C обогнал Раст относительно недавно, до этого Раст был на втором долго.
надо сделать крейт fasta и его использовать, стандартней некуда )
Chebyrash
Друзья
Chebyrash
Какую либу использовать​ для websocket'ов?
Alexander
А кресты за счёт чего?
За счёт темплейтов
Alexander
За счёт темплейтов
Я у себя как раз пытался ~ аналогично через типы сделать.
Alexander
Какую либу использовать​ для websocket'ов?
О, я как раз вчера спрашивал, посоветовали какой-то с неереносимым названием. А эти все сказали не очень.
Alexander
tokio_tungstenite можешь попробовать, ws не на футурах, websocket на старом tokio
Alexander
Вот
Chebyrash
Так
Chebyrash
А есть что-то закалённое боем?
Chebyrash
Или у нас по традиции все сырое
Chebyrash
Как жить
Alex
асинхронщина в расте сырая вся )
Chebyrash
Alexander
Alex
Как жить
ждать пока async станет частью языка в стейбле
Alex
тогда и либы переедут
Alex
и будет хорошо
Alex
я надеюсь.
Alexander
Alex
Неасинхронщина тоже.
там все нормально вроде, не?
Alexander
Стикер про то что считать нормальностью.