BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
к слову о том что в плюсах очень много разных реализаций String в #rust тоже
но то что я нашел - оно в основном под нужды конкретных кодировок например под ASCII https://lib.rs/crates/tinystr
https://lib.rs/crates/smol_str
перформанс этого значительно выше, конечно же, иначе небыло бы смысла делать такие пакеты
https://www.rustsim.org/ вот про это бы не забыть через пару месяцев. стопроцентов надо будет вернуться к моделированию и есть желание потискать #rust в этом направлении а не только питон

https://shahinrostami.com/posts/programming/rust-notebooks/denoscriptive-statistics-with-ndarray/ и NDArray тоже есть. збз
https://stjepang.github.io/2019/12/04/blocking-inside-async-code.html эх где же ты была раньше, статья, а ? Я вже сломал копья, а тут все красиво и понятно про то как в асинхронный код на #rust вставить блокирующий код правильно.
https://stjepang.github.io/2020/04/03/why-im-building-a-new-async-runtime.html многообещающая скорость нового рантайма для асинков в #rust. Автор много хорошего уже напилил. ждемс
нашел еще пару мест в проекте, где было не асинхронные вызовы. поправил. с ходу сразу 10% прироста в скорости. приятно. блокировки были
https://habr.com/ru/post/347726/ то как работает асинхронный ввод вывод, сравнение моделей #rust и #golang

«Rust тщательно следит за тем, чтобы вы не платили за те вещи, которые не используете, и это (использование легковесных нитей) накладывает ограничения на весь ваш код, даже если вы эти самые легковесные нити не используете.»
https://doc.rust-lang.org/nightly/unstable-book/the-unstable-book.html нестабильная книга по #rust все то что скрыто под фича тоглами
https://boats.gitlab.io/blog/post/the-problem-of-effects/ да. поддерживаю проблему с фэйлабл итераторами в #rust. дичайше больно постоянно прерывать где надо и не надо поток, просто потому что гдето словил ошибку. приходится разматывать итератор на форы, не удобно просто, в результате бывают и костыли
https://yaah.dev/try-blocks вот не знаю, честно, вроде как ОК =) штука, но это экономит не так уж и много строк #rust кода. И наоборот новые кейворды вводит, да и к томуже уверен потом понадобится match прикрутить после ифа с трай... и дароу питон, не уверен что хочу такого. нагородят стопроц. и так не самый простой синтаксис, но как фича для продвинутых, не плохо
https://habr.com/ru/post/492410/ просто ахренеть крутая статья про то как Яндекс намерял #rust и #cpp, не разобравшись как в прошлый раз мэйлру #rust и #golang

Объективно обсуждать относительные преимущества того или иного языка сложно, особенно если вам сильно нравится один язык и не нравится другой. Весьма часто новый апологет очередного "новоявленного языка-убийцы C++" делает громкие заявления, не разобравшись толком с C++, за что ожидаемо получает по рукам.
https://cfsamson.github.io/books-futures-explained/introduction.html книга по тому как сделать собственные фьючи в #rust. приколы работы с памятью, пины, экзекьютеры, рантаймы и вэйкеры... ну вся подноготная обьяснена и даже реализованы базовые примеры которые запускаются

https://docs.rs/crossbeam/0.7.3/crossbeam/sync/struct.Parker.html шикарная штука, как оказалось
https://habr.com/ru/post/138132/ #cpp #gcc

https://doc.rust-lang.org/rustc/profile-guided-optimization.html
PGO #rust
#llvm может в оптимизации по статистике профайлера. Profile Guided Optimization (PGO) получается почти как делает это JIT компилятор но в момент компиляции все зашивается и в рантайме уже ускорены какие то не самые оптимальные (вначале) вещи

в моем случае 16к строк #rust кода в базовом случае исолнилось 4.6сек (было 5.0сек). быстрей на почти 7% (pgo и lto оптимизации включены) видимо слишком оптимально пишу код, что компилятору и переставить нечего. смешенные чувства 🙈🤓 оптимизировались лишь места загрузки исходных данных с сериализацией для последующего юзания