Subject: Re: [PATCH 0/7] RFC: Accelerate xdiff and begin its rustification

From: Junio C Hamano <[email-masked]>
Date: Fri, 18 Jul 2025 09:26:48 -0700

Christian Brabandt <[email-masked]> writes:

> On Do, 17 Jul 2025, Ezekiel Newren via GitGitGadget wrote:
>
>> This series accelerates xdiff by 5-19%.
>> 
>> It also introduces Rust as a hard dependency.
>> 
>> …and it doesn’t yet pass a couple of the github workflows; hints from
>> Windows experts, and opinions on ambiguous primitives would be appreciated
>> (see below).
>> 
>> This is just the beginning of many patches that I have to convert portions
>> of, maybe eventually all of, xdiff to Rust. While working on that
>> conversion, I found several ways to clarify the code, along with some
>> optimizations.
>
> Just a quick heads-up: We (as in Vim/Neovim) have been using gits xdiff 
> library for use in Vim and Neovim.
>
> Is the plan to get rid of xdiffs C source completely and replace it by a 
> Rust implementation?

As far as I know, there is no such plan that is widely agreed upon
(yet).

The discussion starter thread you are looking at only introduces a
new code path that uses a different line hash function written in
Rust when whitespace munging search is not enabled, and everything
else still is written in C, but since it is just a discussion
starter so far.

I would personally have liked the effort to start with xmerge code,
not xdiff machinery, for various reasons, but that may be just me
;-)