September 20, 2017

microbenchmarks: Rust vs KDB+ (Q)

Как-то давно натыкался тут на микробенчмарки разных Rust, Haskell и т.д. Но тогда они показались мне абсолютно неадекватными, типа измерение как быстро сможет раздуть в памяти вектор, когда как, на мой взгляд, можно было бы взять не сильно сложные, но гораздо ближе к реальности тесты.

Дело было вечером ... поставил на ноут Rust, и конечно сравниваю его с Q (в домашней 32bit версии).
- Почему именно их? - Потому, что Q у нас в проде, а Rust приобретает репутацию того, что может когда-то взлететит в энтерпрайсе для low-latency и производидтельных задач.

Понятное дело, что сейчас это сравнение интерпретируемого и компилируемого, но Q всегда выдают как что-то запредельно быстрое, с другой стороны на Rust не сильно сложнее писать подобные конструкции через итераторы. В перспективе конечно хорошо бы добавить C и Java в тест. Да и сами тесты немного расширить, только пока не знаю чем.

запушил на гитхаб:
https://github.com/inv2004/rust_vectors

Из того, что было лень пилить - median, оно явно далеко от отпимального на Rust'е.

время в ms