아.. 무슨말인지 이해 했습니다. 뭐랑 뭐를 비교해야하는지를 이해 못하셨군요.... quick sort 알고리즘이 quicksort 와 in-place 두가지 구현방식이 있는게 아닙니다......
애초에 Array 병합이 내장 된, 위 코드 내 quickSortGPT(), quickSort() (둘 다 GPT가 출력한 코드입니다.) 를 작성하여 AI 사용자들에게 제공 한다는 부분을 문제시 한겁니다.
GPT의 응답에 quickSort와 quicSortInPlace가 둘 다 있고, 댓글에 '[...quickSort(left), ...equal, ...quickSort(right)]' 부분을 지적하셔서 quickSort는 quickSort끼리, quickSortInPlace는 quickSortInPlace끼리 비교해야 하는걸로 이해했는데 아닌가보네요.
글을 읽으실때 꼭 문맥을 확인 해 주세요.
지금 저의 코딩실력 자랑을 하고있는게 아닙니다. 지금 예제로 사용되고 있는 quickSort()와 같은 형편없는 코드가 GPT에서 우선순위 높게 출력이 되고 있는 부분을 지적하고 있는겁니다.
GPT 검색을 여러번 해 보면, 단일로 quickSort() 함수 결과물을 제공 하는경우가 많고, 다시, quickSort()는 하나의 예시 일 뿐입니다. 작업 목적으로 GPT에게 코드 요청을 하면 품질이 너무 떨어지는 코드들이 많이 출력 되는데(유료사용자 경험입니다.), 개발자 스스로 이것을 구분 할 수 있는 능력이 결여 된 상태에서는 프로젝트가 망가지는 방향으로 진행 될 가능성이 높다 라는 본문 저자 의견에 공감을 하여 현재 맥락까지 도달 되었습니다.
이미 제 주변에는 이런 형태의 형편없는 코드가 발린 프로젝트들이 계속해서 늘어나고 있는 중입니다.
직접 실행해봤는데 약간 느린 경향은 있는데 2배 까진 아닌 것 같아요.
===
node q.js
Using geekNews quicksort implementation.
Quicksort: 29.55 ms, In-place: 9.94 ms
node q.js
Using geekNews quicksort implementation.
Quicksort: 28.42 ms, In-place: 9.07 ms
node q.js
Using geekNews quicksort implementation.
Quicksort: 26.91 ms, In-place: 9.15 ms
node q.js --gpt
Using GPT quicksort implementation.
Quicksort: 28.73 ms, In-place: 9.22 ms
node q.js --gpt
Using GPT quicksort implementation.
Quicksort: 26.87 ms, In-place: 9.22 ms
node q.js --gpt
Using GPT quicksort implementation.
Quicksort: 27.97 ms, In-place: 9.30 ms
node --version
v22.14.0
bun q.js
Using geekNews quicksort implementation.
Quicksort: 32.05 ms, In-place: 17.39 ms
bun q.js
Using geekNews quicksort implementation.
Quicksort: 30.97 ms, In-place: 17.82 ms
bun q.js
Using geekNews quicksort implementation.
Quicksort: 29.73 ms, In-place: 16.14 ms
bun q.js --gpt
Using GPT quicksort implementation.
Quicksort: 30.61 ms, In-place: 12.63 ms
bun q.js --gpt
Using GPT quicksort implementation.
Quicksort: 31.09 ms, In-place: 12.76 ms
bun q.js --gpt
Using GPT quicksort implementation.
Quicksort: 33.24 ms, In-place: 12.75 ms
bun --version
1.2.14
deno q.js
Using geekNews quicksort implementation.
Quicksort: 32.30 ms, In-place: 6.79 ms
deno q.js
Using geekNews quicksort implementation.
Quicksort: 26.79 ms, In-place: 6.86 ms
deno q.js
Using geekNews quicksort implementation.
Quicksort: 26.09 ms, In-place: 6.85 ms
deno q.js --gpt
Using GPT quicksort implementation.
Quicksort: 27.18 ms, In-place: 7.92 ms
deno q.js --gpt
Using GPT quicksort implementation.
Quicksort: 25.34 ms, In-place: 8.12 ms
deno q.js --gpt
Using GPT quicksort implementation.
Quicksort: 25.39 ms, In-place: 8.09 ms
deno --version
deno 2.3.3 (stable, release, x86_64-pc-windows-msvc)
v8 13.7.152.6-rusty
typescript 5.8.3