Kerrigan
http://bnw.im/p/AUEL50
Marat
Anton
Загадки века
я просто раньше когда не особо вникал думал рендер столько жрет
Anton
но я последнее время выдрачивал и зубрил все по рендеру
Anton
и вижу что сам по себе он кушает очень и очень экономно
Anton
Бля лол смотрю в какие моменты проседает фпс
Anton
крч, проседает он ровно в моменте где запускается гц и отрабатывает итерация requestAnimationFrame
Anton
топыч
Anton
шел 2к18, в браузерах все еще используется механизм эвентлупа анимаций на стороне жс
Anton
ахуинна
Anton
Кстати, там где ванильные css анимации нагрузочные
Anton
везде вообще без просадок
Anton
у servo даже лучше чем в в текущем геконе
Anton
кстати это значит что если серво наконец нормально допилят
Anton
возможно наконецто карты гугл и яндекс перестанут тормозить
Anton
А ВДРУГ
Kerrigan
кстати
Kerrigan
а у раста есть кодогенерация шобы прям как в го?
Kerrigan
кормишь исходник, оно тама процессит ast и генеришь новый
Anton
есть библиотека которая позволяет парсить ast кода rust
Anton
а дальше как наговнокодишь
Kerrigan
ис каропки нет
ваааат, компилятор раста написан на расте и при этом нет?
Max
Она в растёт генериками зовётся
Anton
как я знаю нету, ибо есть макросы, а кормить исходники и получать другие исходники это дичь
Kerrigan
макросы что-то больше похоже на нужное
Anton
да и отдельный ast парсер и так норм, его для себя используют всякие рейсеры
Anonymous
+ syntex
Marat
Плагины компилятора ещё есть в найтли
Anton
из минусов макросов, или возможно то чо я не ебу просто - непонятно можно ли посмотреть гдето сурсы после врезки
Anton
тоесть посмотреть что же мне нагенерил макрос
Kerrigan
я вспомнил про генерацию формул вычисления производных в компайлтайме
Anton
но в коде шоб пащупать
Anton
cargo expand
надо запомнить
Loyd
тооп
Что "тооп"?
Loyd
Заебали уже
Loyd
Откройте любой нормальный сайт — там хип жса редко 10миб превышает
Loyd
Ясен хуй, что куча говнокодеров есть, которые засрать всё могут
Loyd
Ну так они и в десктопной разработке есть
Loyd
В расте плагины. И все линтеры сделаны таким образом. Вот это нормальный подход
Антон
В расте плагины. И все линтеры сделаны таким образом. Вот это нормальный подход
В Go, кстати, столько линтеров, что есть специальная тулза для их одеовременного запуска по проекту: https://github.com/alecthomas/gometalinter
Loyd
Ждём, когда появится линтер с поддержкой аннотаций всяких лайфтаймов
Loyd
И вот мы получим раст
Антон
Гы-гы. Из FAQ оттуда: **Why does gometalinter --install install a fork of gocyclo?** I forked gocyclo because the upstream behaviour is to recursively check all subdirectories even when just a single directory is specified. This made it unusably slow when vendoring. The recursive behaviour can be achieved with gometalinter by explicitly specifying <path>/.... There is a pull request open. УПРАВЛЕНИЕ ЗАВИСИМОСТЯМИ
Anton
нафига в языке с GC всякие лайфтаймы?
ну, это тайна покрытая мраком
Anton
как и многое в го
Mykyta
А в го есть лайфтаймы?
Anton
Типо
Anton
Ну вообще есть еще отдельный вид перцев кто делает транспайлеры в го
Anton
но это отдельный вид долбоебов
Антон
нафига в языке с GC всякие лайфтаймы?
Чтобы лучше работал escape analisis. Да, он в Go есть, но маленький и глупенький
Антон
Ненужное усложнение языка. В контексте Go.
Нужно, иначе он совсем тормозил и был бы ненужен
Alexey
Нужно, иначе он совсем тормозил и был бы ненужен
Дык ручного проставление лайфьаймов нет же.
Kerrigan
First, Rust gave us FEARLESS CONCURRENCY. Now they gave us FEARLESS CASE INSENSITIVITY.
Kerrigan
я ничерта не понял
Kerrigan
вроде AsciiExt по дефолту не импортится
Loo
“Evening Rust: Episode 1: Rusty Beginnings” @edaqa https://medium.com/mortoray/evening-rust-episode-1-rusty-beginnings-2eba012a8a7d
Loo
не хайперформанс
Anton
как ты говорил clone -> fix -> push -> PR
Anton
Что хай перворманс? хипер?
Vladimir
Нету хайперфоманс в расте
Vladimir
Вот поживем, может что-то появится
Anton
Hello. Я пытаюсь заюзать либу Failure, она юзает такое: #[derive(Debug, Fail)] enum FooError { #[fail(display = "E1: {}", name)] E1 {name: String}, Но получаю: error: The attribute fail is currently unknown to the compiler .. rustc 1.23.0 (2018-01-01) Кто-нибудь сталкивался и знает, как это фиксится? (Автор даже полноценного примера не привел)