On Wednesday, 22 January 2020 at 14:50:01 UTC, Per Nordlöw wrote:
Will that incur an extra runtime cost compared to __cmp?
I haven't looked at how `__cmp` is implemented but I would guess there's some extra overhead. Need to get type info and then there will be several virtual method calls involved. Seems to be one of the initial call to `compare` and then one for each element of the array.
BTW, why don't you implement `opCmp` with the built-in comparison operators. Those are going to get lower to a call to `__cmp`. Something like this:
int opCmp()(const scope typeof(this) that) const @nogc { auto a = this[]; auto b = that[]; return a < b ? -1 : (a > b); } -- /Jacob Carlborg