Loo
Некрасивый
ясненько
Anton
а что с текущим не так
Он уже на стэйбле работает?
Loo
Что это?
Marat
Что это?
Мифический стабильный раст на котором можно писать
Loo
Зачем вам стэйбл посоны
Loo
Anton
ок, чем найтли лучше?
Loo
Доступ к найтли фичам всем, очевидно
Anonymous
ок, чем найтли лучше?
там можно сделать let μιμίδια = 1
でゲソ
Gnirehtet 2 ?
наверное он, да
Anonymous
низя
Vladimir
Обидно
Anton
https://manishearth.github.io/blog/2015/09/01/designing-a-gc-in-rust/
Anton
Наброшу старую хуйню
Anton
но вроде не баян
Маjко
Баян
պլհկ
https://github.com/crossbeam-rs/crossbeam-epoch 😏
Loo
Я немножко проебался
Loo
https://rust-lang.github.io/rfcs/
ne_on
посоны. а правда что у вас конкатенация такая ебанутая? https://ashleygwilliams.github.io/a-very-brief-intro-to-rust/#11
պլհկ
кто ебанутый ты ебанутый
պլհկ
let mut realstring = String::from("hello "); realstring += "world";
ne_on
сам ты наташа
Anton
посоны. а правда что у вас конкатенация такая ебанутая? https://ashleygwilliams.github.io/a-very-brief-intro-to-rust/#11
Класная страница, не посмотреть с мобилки нормально, не скролится
ne_on
ну в принципе да, очень похоже и через format() можно #!/bin/env python3.6 str1: str = 'hello ' str1 += 'world'
stalkerg
неэффективно!
почему? создаётся новый экземпляр?
Сережа
я предполагаю там возможно переаллоцирование буфера, который строку хранит
Сережа
это же наверное не джава, чтобы по += создавать новый экземпляр String
Anonymous
Джава и не создаёт
Loo
забенчите посоны
Anonymous
Там стрингпул есть
Loo
вы же это любите
Loo
стринг плюсики
Loo
забенчите
Kerrigan
создает
Kerrigan
если не может оптимизировать
Loo
лол. февраль 2016 - админ долбоёб бенчит строки: https://forum.rustycrate.ru/t/benchmarking-preobrazovaniya-string-v-str-i-obratno/66/3
Loo
Kerrigan
https://habrahabr.ru/post/342002/ орнул
Kerrigan
> Как обычно, сообщество Rust не подкачало. Как только эта статья попала в подреддит о Rust, пользователь nwydo указал на предыдущее обсуждение этой темы. Вот их оптимизированный код, который пробивает 3 ГБ/с на моей машине
Kerrigan
у меня рили 10 ГБ/с пробивает
պլհկ
Лучший админ
спасибо, няш 😘
Anonymous
спасибо, няш 😘
Можно мне тоже всех хуями крыть?
պլհկ
начинай
Kerrigan
Можно мне тоже всех хуями крыть?
только аргументированно
Kerrigan
а то будешь чувствовать себя некультурным
Kerrigan
:D
Vladimir
кто-то кидал в чат либу для бенчмарков? Аналог того что сейчас, только умеющую графики строить?
Vladimir
ладно, тогда я кину https://github.com/japaric/criterion.rs
Loyd
[test] удручает, конечно
Vladimir
можешь создавать бинарники
Vladimir
тест тут чтоб автоматически запустить
Loyd
Я понимаю, почему там test
Loyd
Меня бесит, что там не bench
Loyd
С test тоже так себе — где гарантии, что он обычные тесты запускать не будет? Как он определяет, что это бенчмарк?
Loyd
Ну и cargo bench таки с оптимизациями собирает, а тут нужны пляски
Loyd
Год назад смотрел этот criterion, за год ничего не изменилось
Loyd
С test тоже так себе — где гарантии, что он обычные тесты запускать не будет? Как он определяет, что это бенчмарк?
А, он на путь полагается вроде. Ну, спорно, иногда хочется бенчмарки рядом с модулем
Loyd
Ну и cargo bench таки с оптимизациями собирает, а тут нужны пляски
А, пизжу таки. Сейчас он запускает через cargo bench.
Anton
лол. февраль 2016 - админ долбоёб бенчит строки: https://forum.rustycrate.ru/t/benchmarking-preobrazovaniya-string-v-str-i-obratno/66/3
Читал что в последних версиях раста нет разницы между from, into, to_owned
Loo
Читал что в последних версиях раста нет разницы между from, into, to_owned
да. чот такое тоже видел. щас уже пофиг немного)))
Vladimir
А, пизжу таки. Сейчас он запускает через cargo bench.
он запускает с оптимизациями, через дополнительный флаг, да
Vladimir
потому что раньше to_string был через формат, а сейчас через специализацию для строки сделан
Vladimir
а to_owned() всегда должен был быть аналогичен from
Vladimir
fn to_owned(&self) -> String { unsafe { String::from_utf8_unchecked(self.as_bytes().to_owned()) } }fn from(s: &'a str) -> String { s.to_owned() }
Max
Несилятор снова не может в трейты Хочу вернуть u64 как Hash из функции, даже Box не помогает https://play.rust-lang.org/?gist=47fd5feb0a93f5e960b9302a75d66b2c&version=stable
Vladimir
Тебе нужен impl Trait
Max
(на самом деле там еще трейт в Vec обернут, так что не прокатит)
Vladimir
fn test<T> подразумевает, что вызывающая сторона задает конкретный тип. Ты же хочешь вернуть что-то конкретное реализующее типаж.
Vladimir
т.е. я могу вызвать в твоем примере test::<u32> и код должен работать.
Vladimir
В век можно оборачивать имплы вроде. Например в бокс точно можно fn test() -> Box<impl Hash> { Box::new(10u64) }
Vladimir
почему ты не можешь задать конкретный тип?