I've used Atuin for a few months, but I ended up going back to zsh-histdb, which stores history in an SQLite database.
When I compared Atuin with zsh-histdb again, the performance difference was stark. Zsh-histdb is just instantaneous, whereas Atuin has noticeable lag.
Atuin's ranking algorithms are also quite deficient, and I've tried all of them. I did a quality comparison before going back to zsh-hidden and found a good example: If I autocomplete on "curl cat", the first match is something like "curl http://localhost/v1/chat" that I did earlier today. If I autocomplete on "curl chat", the first match is something like "curl http://localhost/_cat".
From what I can tell, the ranking doesn't seem to consider contiguous substring matches as having higher relevance than random letters in different order. Clearly "cat" should match "cat" higher than "chat", even if they both have "h" somewhere.
(If anyone from Atuin is reading here, I'd be happy to show a screen recording of the problem.)
The fact that Atuin cannot delete old history is also a problem, especially since it gets markedly slower the more history you have. I initially imported all my history (about 100MB?) and it was dog slow. But there was no way to prune older entries, so I had to wipe it clean and then import a subset. Even then, as I said, it's clearly slower than zsh-histdb.
Zsh-histdb has other issues, and hasn't been updated in years, but it works better for me. Atuin's syncing is nice, but it's something I can live without.
When I compared Atuin with zsh-histdb again, the performance difference was stark. Zsh-histdb is just instantaneous, whereas Atuin has noticeable lag.
Atuin's ranking algorithms are also quite deficient, and I've tried all of them. I did a quality comparison before going back to zsh-hidden and found a good example: If I autocomplete on "curl cat", the first match is something like "curl http://localhost/v1/chat" that I did earlier today. If I autocomplete on "curl chat", the first match is something like "curl http://localhost/_cat".
From what I can tell, the ranking doesn't seem to consider contiguous substring matches as having higher relevance than random letters in different order. Clearly "cat" should match "cat" higher than "chat", even if they both have "h" somewhere.
(If anyone from Atuin is reading here, I'd be happy to show a screen recording of the problem.)
The fact that Atuin cannot delete old history is also a problem, especially since it gets markedly slower the more history you have. I initially imported all my history (about 100MB?) and it was dog slow. But there was no way to prune older entries, so I had to wipe it clean and then import a subset. Even then, as I said, it's clearly slower than zsh-histdb.
Zsh-histdb has other issues, and hasn't been updated in years, but it works better for me. Atuin's syncing is nice, but it's something I can live without.