Anonymous
4 тоже не хотят, макаронники блин)
Anton
Закинь на playground там вроде готовый пример был в книге
Anonymous
А вот, с 20ого раза два одновременно поели. Почему так получается?
Anonymous
Как можно эти треды отдебажить, чтоб по 20 раз не запускать и не ориентироваться на порядок вывода?
Vladimir
что значит отдебажить треды
kitsu
что значит отдебажить треды
не ломай парню идеальный мир
Anonymous
что значит отдебажить треды
ну убедиться, что всё как положено работает - параллельно выполняются действия, а не по очереди
Vladimir
ты хочешь убедиться что они параллельно работают без какой бы то нибыло дополнительной синхронизации?
Vladimir
ну убедиться, что всё как положено работает - параллельно выполняются действия, а не по очереди
просто чтоб ты понимал, вывод один, он синхронизирует во времени выполнение, от того ты и можешь понять выполняются ли они параллельно. Точно таким же путем можешь поступить, только вместо вывода, заведи переменную, инкриментируй её по началу события, декрементируй по окончанию, можешь добавить логику в случае если счетчик будет больше N Чтоб не изобретать велосипеды можешь взять Arc let counter = Arc::new(()); // share it in threads ... // in thread let guard = Arc::downgrade(&counter); if Arc::weak_count(&counter) > N { do_some_stuff()}```
Anonymous
Спасибо, попробую
Сережа
так тебе вообще в этом буффере не важно процесс "отключения - подключения" 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; } } }
Один раз поймать начало посылки и дальше работать через указатель на буфер приема будет эффективнее. Кстати, не уверен что будет на месте self.array.len(), наверное заинлайнит, но не лучше через константу размер пакета задать. Он же все таки про мк спрашивал, а не про веб микросервис.
Vladimir
@Mosolov хз, если у него каждый второй пакет пропускается, то не эффективнее, особенно если учесть что обработка буффера как я понимаю по символьная
Сережа
И что это за протокол, целостность никак не контролируется?
Alex
http://githut.info/ Забавненькие статы у растича и эр
чот давненько оно не обновлялось смотрю
Vladimir
Vladimir
Например если это внутренняя шина какая-то
Vladimir
Нет причин ей недоверять
Vladimir
К тому же исходя из его задач, ему нужно просто отображать данные, дискретизированные аналогвые данные. Данные которые явно меняются реже чем измеряются в силу инерционности. Визуализировать на экране для пользователя, который не сможет воспринимать чаже информацию чем с периодом 1/24с
分解物質
http://githut.info/ Забавненькие статы у растича и эр
ого pushes per repo: 1: C++, 2: Tex, 3: Rust, 4: C этот параметр же можно считать как за показатель активности использования языка?
kitsu
явно наиболее важный
Konstantin
14 год.
Alex
я и говорю давно не обновлялось
Vladimir
явно наиболее важный
Нет, если статистика выбрана херово
Vladimir
Например по всему множеству проектов, это вообще не показатель
Vladimir
Текс репы это репозитории в которые принимают куча мелких коммитов, тогда как в с++ куча Легаси который меняется раз в год
kitsu
ну справедливости ради на с++ много и не легаси
kitsu
Вообще да, хорошее замечание
Vladimir
Хз, на с++ пишут одни динозавры
Vladimir
Если б показали issues более детально
Vladimir
С какой скоростью фиксят пулреквестами
Vladimir
А то знаю я эти с++ проекты
Vladimir
Где закрывают issue и говорят "мы знаем, сделай патч если хочешь"
Marat
Надо ещё определять игрушечность проектов
Сережа
Хз, на с++ пишут одни динозавры
Но это же плюс, серьезные разработчики с богатым жизненным опытом не выберут плохой инструмент!
Сережа
Vulkan на си плюсе?
Сережа
Казино вулкан удачи?
Vladimir
Надо ещё определять игрушечность проектов
let igrushechnost :f64 = match name { "rust" => 1, "go" l "java" => 0.0001, _=> random(1,0) };
Vladimir
vulkan, kde, QtCreator, что там ещё
Вторые два ж Легаси
Vladimir
Не Легаси?
分解物質
Не Легаси?
это cutting edge
Сережа
Раз вулкан на си плюсе то винду тоже записывайте
Сережа
Такс такс такс а что у нас там на расте?
Сережа
На го докер например
Bugworm
alacritty 🌚👌🏿
Сережа
А что-то достигшее 1.0?
Bugworm
css рендер в фф
Евгений
Anton
stylo
Anton
какая то тулза для контейнеров
պլհկ
ЗОНА КОНТРОЛЯ
պլհկ
Railcar
LexsZero
у меня есть тулза для контейнеров из пяти строчек баша
պլհկ
https://github.com/p8952/bocker
Navern
https://github.com/p8952/bocker
срочно в прод
Anton
еще бакэнд для TiDB
Anton
TiKV
Anton
распределенное хранилище k/v
Anton
точнее на rust там сетевая часть + raft
Kerrigan
такс, напомните как там собрать длл через мингв
Сережа
Через cmake))))
Сережа
‘’’ g++ -c -DBUILDING_EXAMPLE_DLL example_dll.cpp g++ -shared -o example_dll.dll example_dll.o -Wl,--out-implib,libexample_dll.a ‘’’
Kerrigan
хаха, собрал
Kerrigan
значит это делается так: 1. Поставить mingw 2. Вот это в ~/.cargo/config [target.i686-pc-windows-gnu] linker = "i686-w64-mingw32-gcc" [target.x86_64-pc-windows-gnu] linker = "x86_64-w64-mingw32-gcc" 3. RUSTFLAGS="-C panic=abort" cargo build —target=i686-pc-windows-gnu
Сережа
Я не знаю где на телефоне обратный апостроф =(
Kerrigan
oooops
Kerrigan
vst2 растовский так крашится
պլհկ
https://buoyant.io/2017/12/05/introducing-conduit/
Anton
Хм, опять Tower
պլհկ
карлуша там с шонмонстаром пилят