Pull to refresh
16
0
Владислав Орлов @biziwalker

Добрый веб-гик из Сибири

Send message
Тоже попробовал несколько раз — не получилось. Стоит последняя iOS 9.0

PS: Использовал мизинец для TouchID :)
Особенно верно, если учесть, что у большинства современных языков на бэкенде LLVM или GCC
Сталкивался на простых тестах сортировки с тем, что в Rust есть инструкции проверки на доступность элемента в массиве. Скорость просела в 1.5 раза по сравнению с C на сортировке вставками. Но благо Rust позволяет писать unsafe код, если хочется выжить максимум :)
Получается Rust оказался почти в 3 раза быстрее C++ — что-то здесь не чисто! Код на C++ приводил к индентичному на Rust, единственное это я не реализовал ту фичу заложенную автором, которая включается с помощью #define COLLECT_MEASURES. А так на равных условиях, с отключенными фичами, Rust оказался быстрее. И всетаки надо сравнивать на одинаковом железе и с нормальными выборками. Предлагаю автору ( deviator ) этим заняться и сделать свои выводы кто кого быстрее в этой гонке.
Rust версия: github.com/biziwalker/rust-habr261201 на предоставленной выборке из 45 позиций

% g++ -std=c++11 -O3 -o ./target/release/cpp-habr ./src/main.cpp
% cargo build --release
% ./target/release/rust-habr input.txt
work time: PT0.000006164S
[-5.928793, -8.112186]: 15
[-8.200232, 8.078455]: 20
[4.092769, -0.32508284]: 10
% ./target/release/cpp-habr input.txt
work time: 1.8e-05
[-5.92879, -8.11219]: 15
[-8.20023, 8.07845]: 20
[4.09277, -0.325083]: 10

deviator а не могли бы вы предоставить сгенерированную выборку? К сожалению, нет возможности сгенерировать выборку с помощью вашего генератора на D. Но есть интерес в реализации алгоритма на Rust.

PS: думаю Rust будет немного медленее, чем C++ из-за безопасности кода
Как я понимаю, lifetime не зависит от того, что напишешь, будь это 'a или 'b, главное тут это краткость в записи. Для строкового слайса используют например 's… Тут важно, что если их несколько lifetime, то если укажешь 'a и 'a, то возьмется минимальный из них, а если 'a и 'b то они будут считается независимыми между друг другом. Есть ещё один lifetime: 'static — он указывает что время жизни равно жизни программы.
Подвигал ползунок в модальном окне — уплыл заголовок куда-то — это нормально?

Декларативные языки включают в свое множество функциональные, если мне память не изменяет
Согласен. На выходных постараюсь добавить сравнение с основным конкурентом (Куча Фибоначчи) и популярной Бинарной кучей

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity