պլհկ
А
Маjко
Все равно
Маjко
Один хер при приеме данных он побайтово всё перемалывает
Маjко
Это сотня циклов ну от силы
Маjко
Наносекунды
Маjко
Это ж единоразовая операция: единожды выровненный стрим не нуждается в повторном выравнивании?
Anton
Хорошо, обьясняю в чем проблема
Anton
Мк, который есть на дисплее очень медленно работает
Anton
он где то 200 пакетов в сек, РАМ там 4кб
Маjко
Уф, прям настолько МК
Anton
я вот подумал поменять нах решений
Anton
ну тут на складе завалялось
Anton
хотели использовать под текущий проект
Anton
буверезировать поток не получится, приходится дропать фреймы
Anton
Короче я сам с собой скорее
Anton
Кроме перебора все равно не как
Маjко
У тебя не шибко много вариантов кроме как первые 26 байт перебрать)
Маjко
Да
Маjко
И это будет быстро, в общем говоря
Маjко
Все равно 26 итераций в худшем случае
Anton
и 26 пропущеных пакетов
Маjко
инкремент дешевле
Anton
25*
Anton
У нас кто нить картами занимается?
Маjко
Какими?
Anonymous
Что-то философы не хотят одновременно есть, едят по очереди, в чём может быть загвоздка? мб скомпилировать нужно как-нибудь по-особенному?
Маjко
Маjко
Хрен их поймет
Anton
О кто то растбуки читает =)
Vladimir
Vladimir
всмысле ядер в процессоре
Anton
Какими?
Внутри помещений (RTLS)
Anonymous
Anonymous
5 по идее
Vladimir
Anton если у тебя микруха обрабатывает 200 пакетов, а приходит 1к, то видимо это оборудование тут не одходит не находишь?
Vladimir
а вообще скипнуть 26 байт, при учете что у тебя ринг буффер какой-то
Vladimir
вообще не проблема
Bugworm
Vladimir
Есть ли кейс задачии в которой применима такая методика?
Vladimir
Что за пакеты такие
Vladimir
давай так
Vladimir
5 по идее
ну попробуй подшаманить количество тредов
Anton
есть весы отправляют по шине есть поток данных
>AWWWWWW<space>TTTTTT<space>NNN<space>klzm<CR><LF>
Data is 26 bytes long.
Vladimir
философы они такие, пока не создашь им достаточные условия, не будут кушать
Anton
Задача показывать вес на весах
Anton
на дисплее
Vladimir
тогда у тебя пакеты одинаковые по смыслу
Vladimir
просто считываешь в ринг буффер 26 байт
Маjко
И читаешь до выравнивания
Vladimir
по выравниванию просто ставишь указатель на "начало"
Маjко
баундчеки главное не забыть)
Маjко
А то не раст
Маjко
Или раст?
Anton
Vladimir
ну это с расчетом на отключение подключение какраз
Anton
мютеХ?
Маjко
Покажи код
Anton
они и не должны
Vladimir
так тебе вообще в этом буффере не важно процесс "отключения - подключения"
struct Buffer {
arr: [u8;26],
start: u8,
pos: u8,
}
impl Buffer {
fn new_char(&mut self, c: u8) {
self.arr[pos] = c;
pos = (pos + 1) % self.arr.len();
if c == b'$' {
start = pos;
}
}
}
Vladimir
Vladimir
нужно наоборот уменьшать
Маjко
они и не должны
Я не видел пример, но если мьютексы на каждой вилке, то всё должно быть ок.
Если глобальный на весь стол — то очевидно, что не будут, да
Vladimir
если много философов пытаются брать ложки то у них нихера не получится
Маjко
Да похер, залочатся и всё
Vladimir
ну там две вилки
Vladimir
нужно две взять
Маjко
Кто первый успел — тот и взял
Vladimir
разве нет?
Маjко
Да, емнип
Vladimir
один взял - ок, ему нужна вторая, он её тоже залочили
Vladimir
он анлочит свою, сосед в свою очередь повторил алгоритм
kitsu
http://githut.info/
Забавненькие статы у растича и эр
Vladimir
и только один успел всё сделать вовремя
Vladimir
хотя зависит от размера стола еще