Kerrigan
Денис
и поэтому он компится
Anonymous
пздц
Денис
Anonymous
Денис
?
Anonymous
?
https://play.rust-lang.org/?gist=a98d3ca1101be8669245b08a60269d58&version=stable
Денис
и? я это уже компил. и по поводу "странного метода" ответило мне описание метода. метод возвращает Option<&mut T> а следственно ни о каких ref mut речи не идет
Mark
https://yew.now.sh/
Mark
rust + wasm => todomvc (75Kb)
Mark
Anonymous
Loyd
Loyd
В ишьюсах обсуждение есть
Anonymous
ишьюсах
Alexey
Мутабельный стор это зашквар?
Bugworm
Firefox 58 Bringing Faster WebAssembly Compilation With Two-Tiered Compiler
http://www.phoronix.com/scan.php?page=news_item&px=Firefox-58-2-Tiered-Compiler
Sergey
если что есть @webassembly_ru
LexsZero
https://github.com/svenstaro/genact наконец-то на русте что-то полезное написали.
Anton
:D
Антон
Даже веб-версия на wasm есть. Замечательно
Anton
Есть какой нить крейт для замера времени выполнения функций?
Anton
чтобы самому не писать
Anonymous
bench
Anonymous
это подкомманда, которая в комплекте с карго идёт
Anton
Ну он программу мерит
Anton
Anonymous
вроде нет
Sergey
Найтли
Sergey
В стейбле бенчмарки не работают
分解物質
Sergey
Benchmark tests
https://doc.rust-lang.org/1.12.1/book/benchmark-tests.html
պլհկ
https://crates.io/crates/bencher
Anton
наверно не корректно задал вопрос - у меня сейчас
let mut watcher = Watcher::new();
//...
watcher.show("MARK1");
//...
watcher.show("MARK2");
На выходе выхлоп по меткам
00.000 | 00.000 | BEGIN
00.009 | 00.009 | DB OPEN
00.009 | 00.000 | PARSE BEGIN
00.009 | 00.000 | PARSE END
00.009 | 00.000 | LINK MATCH BEGIN
00.044 | 00.034 | LINK MATCH END
00.044 | 00.000 | LINK MATCH: X
00.044 | 00.000 | CACHED
00.339 | 00.294 | END
Anton
первый столбец - общее время, второй относительно предыдущей метки
Anton
Что то такое стандартное есть?
Anton
Единственное похожее нашел https://crates.io/crates/stopwatch
Anton
Может свою фиговину в виде крейта оформить :/
պլհկ
պլհկ
хайпани на крейтах
Anton
У меня сервис должен отвечать до 1sec, сейчас используется то что я выше написал, оно логирует каждый запрос, мусора много, хотел допилить что то типа report_if(Duration)
Anton
логировать только если время больше Duration, с разбиением по секиям
Anton
ТОлько вот задумался наверняка такое кто нить уже писал
分解物質
интересно почему у rustc -С opt_level=3 вместо обычного и лаконичного -O3?
Sergey
https://gist.github.com/greyblake/9739e3bebb6ef36aeff4efa1e943b856
Sergey
Anton
Да похоже, только у тебя общее время выполнения, мне нужно по секциям - например долгий ответ от дб - или долгий парсинг
Anton
как лучше
enum Report {
Always,
LessThan(Duration),
GreaterThan(Duration),
}
Anton
или сокращения
lt
gt
lte
gte
Anton
Есть мнения?
Alexey
спроси у тех, кто будет читать и править твой код
Anton
Сокрее всего никто кроме меня, это для ненужного крейта =)
Sergey
тогда лучше foo ,bar, baz
Alexey
i1,i2,i3
Alexey
классика же
Alexey
это если целочисленный тип конечно
Anton
Там же услувия для отчета (total time)
Always
Never
LessThen(Duration)
GreaterThen(Duration)
LessOrEq
GreaterOrEq
Alexey
d1,d2,d3 - это уже например тип real, ой, float
Anton
Anton
У меня ну отчет ставится енум - в каком случае выводить отчет
Anton
match self.report {
Report::Always => report(),
Report::Gt(ref v) if &total > v => report(),
Report::Ge(ref v) if &total >= v => report(),
Report::Lt(ref v) if &total < v => report(),
Report::Le(ref v) if &total <= v => report(),
_ => {}
}
kitsu
Anton
gt/ge/lt/le нужны - для случаев "если общее время выполнения функции - соответствоет Duration"
Alexey
мудрость предков: все переменные начинающиеся с букв от i до n имеют тип integer, все остальные - float.
Anton
яб предпрчел это
Самый популярный вариант
pub enum Report {
Always,
Never,
Gt(Duration),
Ge(Duration),
Lt(Duration),
Le(Duration),
}
Anton
Наговнокодил побырику
https://github.com/anton-dutov/howmuch-rs/blob/master/src/lib.rs
критика приветствуется
Kerrigan
что мне не нравится в расте - я постоянно пишу create вместо crate
Mark
Kerrigan
Andrei
https://twitter.com/jusrin00/status/875238742621028355
Andrei
транскрипт есть?
Kerrigan
бггг
Andrei
Andrei
http://www.lispcast.com/clojure-and-types
> When I moved into a Clojure job, I felt such a sense of freedom. I could treat information as information and not have to prove anything to a type checker.
так вот к чему это всё. но ведь stringly typed никто не отменял, в чём проблема?
Kerrigan
что-то мне кажется, что yew подтормаживает