Re: [DEMO][PATCH v2 6/5] compat: add a qsort_s() implementation based on GNU's qsort_r(1)
- From
Jeff King <peff@peff.net>
- Date
- Jan 25, 2017, 18:51 UTC
- Message-ID
- <20170125185153.obqwxiniyz2omxsi@sigill.intra.peff.net>
- In-Reply-To
- <f41e5053-ee24-060f-0fb9-b257b3ba35a0@web.de>
On Wed, Jan 25, 2017 at 07:43:01PM +0100, René Scharfe wrote:
Show 5 quoted lines
> We could track processor time spent and memory allocated in QSORT_S and the > whole program and show a warning at the end if one of the two exceeded, say, > 5% of the total, asking nicely to send it to our mailing list. Would > something like this be useful for other functions or metrics as well? Would > it be too impolite to use users as telemetry transports?
Frankly, that sounds a bit overboard to me. If people want to profile there are profiling tools. If we want users to profile on their systems and send results to us, I think I'd rather give them instructions or a wrapper script for doing so.
> If we find such cases then we'd better fix them for all platforms, e.g. by > importing timsort, no?
Yes, as long as they are strict improvements. I can't think of a case where some sorting behavior is a matter of opinion, and they'd prefer Git behave like the rest of their system rather than like Git on other systems[1].
-Peff
[1] I wonder the same about regex implementations. I generally consider
our GNU regex fallback to be a strict improvement over system
versions, at least in terms of features. But I was interested to see
recently that musl implements pcre-style "\x" as an extension, but
it _doesn't_ do REG_STARTEND. So it's at tradeoff. They have to use
the fallback on newer versions of git (to get REG_STARTEND), but
that means the rest of their system understands "\x" but Git does
not.