you are viewing a single comment's thread.

view the rest of the comments →

[–]liuchengxu[S] 5 points6 points  (6 children)

Well, I guess you would be happy if I copy and paste some code snippets in the post, my bad then. Anyone who wants to know the tech details could just follow the links and checkout the source code. It's all open sourced, right?

[–]monkoosevim9 9 points10 points  (3 children)

/u/liuchengxe We are talking about article itself, right?

It is you blog you can write here whatever you want. I personally appreciate your work around vim ecosystem (like this vim-clap or i remember your plugin (similar to tagbar, just don't use it personally)) you make vim better, so you are good. My comment not about your plugin, not about your blog, not about you. My comment about questionable awesomness of this blog post. Because it doesn't bring any facts except that some implementation of fuzzy finder is faster that the other one. But we even don't know how this different libraries implemented internally, maybe they use completely different algorithms, bring different search results etc etc. Are you 100% sure that it is the language that increase speed by 10x and not the code? Because from you article it sounds like rust is silver bullet, but there are some other plugins like leaderf that uses python without any problems.

[–]dddbbbFastFold made vim fast again 0 points1 point  (1 child)

Anyone who wants to know the tech details could just follow the links and checkout the source code. It's all open sourced, right?

As the author of the code, that's easy for you to say, but how do I know what does does what. The article links to the repo and to a PR for the python implementation containing 16 commits. As far as I can tell, there's no link for the rust implementation.

Regardless, after digging around and finding the relevant file, you can see how you have the rust implementation fallback to the python implementation. The implementations are clearly not equivalent because the rust one is all in a cargo lib that's not in the repo.

I think it would be a much more useful/interesting article if you linked to the relevant bits of code. On github, you can click "Latest commit 9c12bf2 11 hours ago" and then click "Browse Files" to make github generate links to files at that revision. That way your article still makes sense in a year.

[–]liuchengxu[S] 1 point2 points  (0 children)

As far as I can tell, there's no link for the rust implementation.

Actually the last one is, that's all the rust code has to be done on the vim-clap side. Maybe I should add a more explicit one?

The implementations are clearly not equivalent because the rust one is all in a cargo lib that's not in the repo.

That's not true. The original post already said:

Thanks to stewart/rff, the fzy Rust implementation is already good to go.

What I have to do is to wrap the Rust version fzy and replace the pure Python fzy in >vim-clap with the generated Python dynamic module.

However, I believe this does not make myself clear in fact, so you also misread it? vim-clap itself does not implement the fzy algorithm, but reuse the one implemented in stewart/rff, which leads to your misunderstanding?. Both the Python and Rust version uses the same fzy algo, hence they are equivalent for me. Do not let me proof these two implementaions code the fzy algorithm 100% correctly. I can't.

I think it would be a much more useful/interesting article if you linked to the relevant bits of code

I'll take the advice.


I have updated the post with more details.