carry = w[i] * ((time + ti) / (ti * 2));
carry = Math.min(carry, gi + si);

이 코드를

carry = Math.min(w[i] * ((time + ti) / (ti * 2)), gi + si);

이렇게 바꿀 경우 상당한 오버헤드가 발생함.




일반적인 퀵소트인데 여기서
partition 메소드에 있는 내용을 quicksort에서 분리하지 않을 경우에도 마찬가지로 엄청 느려짐.


정확한 원인이 뭘까?