zhangxp1998·6 ปีที่แล้ว·discuss" It begins with quicksort, it switches to heapsort when the recursion depth exceeds a level based on (the logarithm of) the number of elements being sorted and it switches to insertionsort when the number of elements is below some threshold. "
zhangxp1998·6 ปีที่แล้ว·discussI agree is unfair. The point of my benchmark was that the OP's claim "quad sort is faster than quicksort" is false.
zhangxp1998·6 ปีที่แล้ว·discussI looked at disassembly of generated binary, sure, function calls inside quad sort were also inlined.
zhangxp1998·6 ปีที่แล้ว·discussSee https://gist.github.com/zhangxp1998/0e2fa30656c894017d183e0d... for a comparison of quadsort with C++'s std::sort. The compare functions are inlined.
zhangxp1998·6 ปีที่แล้ว·discussqsort has to invoke your comparison function repeatedly, which incurs a lot of overhead. Try C++'s std::sort
zhangxp1998·7 ปีที่แล้ว·discussOkay, so you are comparing single-threaded GNU wc with your multi-threaded Go implementation? That's fair.