Re: [PATCH 0/5] Start of a journey: drop NO_THE_INDEX_COMPATIBILITY_MACROS
flat view
From: Brandon Williams <hidden>
Date: 2017-05-04 03:29:29
On 05/03, Samuel Lijin wrote:
On Wed, May 3, 2017 at 12:14 PM, Stefan Beller [off-list ref] wrote:quoted
On Wed, May 3, 2017 at 4:31 AM, Samuel Lijin [off-list ref] wrote:quoted
Just to throw out an example, I'm relatively new to the codebase (I've been lurking on the mailing list for a few months now) and for a recent project (I'm an undergrad wrapping up my senior year, and one of my classes' final projects was to do something that involved concurrency) I took a shot at parallelizing the estimate_similarity() calls in diffcore_rename(). The only way I was able to get it to work was by dropping global mutexes in one or two files (the code for those mutexes still makes me cringe), because of concurrent writes to global data structures.That sounds like a challenge. As we have many globals, we need to be very careful about threading. Also an interesting discussion about threading: https://public-inbox.org/git/9e4733910708111412t48c1beaahfbaa2c68a02f64f1@mail.gmail.com/Thanks.quoted
Are the patches available for discussion?I was planning on revisiting the patch series before sending it out - the changes in attr.c and sha1_file.c are not pretty (and I'm pretty sure one of them is non-portable) - but it is published at https://github.com/sxlijin/git/commits/parallelize.thread-pool.1 (it's based off v2.12.2).
I spent a good chunk of time reworking the attribute code a few months back in order to make it thread-safe so you may want to rebase on top of a newer version and see if your changes get a little less messy (if so then I did my job :). -- Brandon Williams