libgit2 / libgit2sharp.nativebinaries

MIT License
29 stars 63 forks source link

Build with Visual Studio 2017 #54

Closed bording closed 3 years ago

ethomson commented 7 years ago

What's the impetus here? We're very intentionally using an old version because VS 2015 introduced a new C runtime that does things like take mutexes in seemingly simple functions. eg, some of the string functions now take a lock on the system locale to avoid race conditions. This is, I guess, an overall win for the operating system, but it's not for us when we're dealing with ASCII or UTF-8.

We've fixed a lot of these in libgit2 by using our own functions, but I doubt that we actually found them all, so I'm a bit hesitant about upgrading our build environment.

bording commented 7 years ago

I opened this because we talked offline about doing this, and you had said it was worth doing before. If that's not the case, then let's close it.

ethomson commented 7 years ago

Haha, did I? 😀 I guess I had forgotten about that (it came up again recently in conversation which is probably why I remembered it.)

Let's benchmark the VS12 vs VS15 builds - probably the unit tests are a good enough metric, either libgit2's or LibGit2Sharp's. I can do this when I have a few spare cycles.

bording commented 5 years ago

@ethomson Any more thoughts on this change?