Hacker News new | ask | show | jobs
by euank 2692 days ago
This looks nice! I'm especially interested in the claims of performance.

I've also written an autojumper[0] (in rust) after being frustrated by performance issues in other autojumpers, among other reasons.

For mine, I've gone to the effort to write a test and benchmark harness, and I also ended up with about 10x faster than fasd/autojump[1].

I'm excited to benchmark pazi against z.lua, and if needed take some ideas to be even faster :)

[0]: https://github.com/euank/pazi

[1]: https://github.com/euank/pazi/blob/v0.2.0/docs/Benchmarks.md...

3 comments

How does it differ from https://github.com/xen0n/autojump-rs ?
Fair question! I didn't know a rust rewrite of autojump existed!

I already benchmark pazi against autojump by itself, so adding in a benchmark against autojump-rs will basically be drop-in, and I do expect pazi will still be faster, but I'll see.

At a glance, the differences I see are the following:

* pazi has extensive integration tests and benchmark code

* pazi doesn't fork processes into the background like autojump's shell scripts do (and therefore autojump-rs does), which avoids a few races

* pazi's interactive selection (z -i) makes use of the terminal's alternate buffer to avoid blowing away your scrollback, which most jumpers don't bother with.

* pazi has a cooler name in my opinion :)

These differences are not all that major. pazi is definitely short on some features, and I don't blame you if you wish to use one of the others. I'll keep working on pazi because I like using it and I'm having fun working on it / optimizing it / testing it.

It's cool, but does the extra speed matter? My eyeballs cannot differentiate 0.5ms vs 5 ms. That said, I'm pretty happy with fasd.
Does pazi work on windows? That's a big benefit I see in Z.lua: cross platform/shell support.
It does not currently (only linux and macOS), but porting it over should be really easy!

The cross platform story for rust isn't as seamless as an interpreted language like lua, but it's still good enough that it's not a huge effort to support another platform or shell.

> cross platform/shell support

Shell support should be fairly similarly easy or hard between most autojump implementations.