Random Rust Dev
451 subscribers
179 photos
56 videos
3 files
44 links
Разработка на языке Rust.
Пишу простыни со своими мыслями о Rust и проектах на нем.
Download Telegram
Лучше писать аллокаторы на расте!
👍7💯2
Или читать японскую поэзию.
Только не про смерть. Да, не те 90% японской поэзии.
9😁3
This media is not supported in your browser
VIEW IN TELEGRAM
MS: We use AI for everything now.
MS's UI programmer makes busy spinner.
😁11
Вопрос для экспертов-сеньоров-помидоров по Rust.

Как будет отличаться layout Foo и Bar и зачем?
Бонусные очки если приведёте доказательство.
😭8
💯12🫡2😁1
Решил наконец залить mev на crates.io
https://crates.io/crates/mev
v0.1.0 может похвастаться упрощённым API и почти полной поддержкой веба через WebGPU бэкенд
🔥83👍1
- Copilot, collect this Iterator into Vec
- Say no more
😁19🔥21
Загадка.

Кто такой "щенок котика"?
Чур в гугол и ии не подглядовать
3
Кто любит забавные и совершенно непрактичные алгоритмы, как вот этот?
Final Results
50%
Все
23%
Никто
27%
Только я
Поздравляю всех с днём π
🥰12
Учим английский на странных примерах
👏12🥰4
Нашёл одно действительно полезное свойство кодинга с помощью ИИ.
Именно с помощью, а не "GPT, write me the next hyper hyped app, make no mistakes".
ИИ может в своём обучении получить какой-то полезный кусочек информации, на который программист мог не наткнуться, да и даже не подумать загуглить.
Вот пример того, как ИИ предложила умножать компоненты цвета на альфа канал.

div255(r as u32 * a as u32) as u8;

fn div255(x: u32) -> u32 {
((x + 128) * 257) >> 16
}


Что тут такого? А то, что это банально быстрее чем (x + 127) / 255 и при том совершенно точно.
Некоторые вовсе берут и кастят всё в f32, а потом назад, что супер-медленно в сравнении с целочисленным умножением.
И когда этих операций десятки, сотни, тысячи, то и не заметишь разницы.
А когда их миллионы, десятки миллионов, сотни миллионов в секунду, то это имеет значение.

Просто сравните как компилируется код.

Забавно, что компилятор оптимизирует деление в умножение и сдвиг.
Но не так эффективно, как ручной вариант, который оптимизируется в 0 умножений
8👍4💯1
Задачка для продвинутых крабоводов.
Нужно дописать субтрейт так, что бы функция тайпчекалась успешно.


trait HasFoo {
type Foo;
}

/// Modify only this trait definition.
trait HasDefaultFoo: HasFoo {}

/// Make this function typecheck successfully
fn make_this_typecheck<F>() -> F::Foo
where
F: HasDefaultFoo,
{
Default::default()
}


Для удобства линк с задачей на плейграунде.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=487462038096be1e341e48d0f6fd94b7
4
Разработчики драйвера:
Нам нужно что бы вы указали все барьеры и лайауты текстурок, а то датарейсы и перформанс плохой.
Так же разработчики драйвера:
NDANDANDANDANDANDANDANDANDANDANDANDANDANDANDANDA
😁81
🤪6👍21
18😁8👍3