qsort は C 言語の標準ライブラリにあるソート関数で、その性能 (つまり実行速度) は主に要素の比較と交換の回数に依存します。要素の比較と交換の回数は、主に入力配列のサイズと分布によって決まります。
次は、単純な qsort パフォーマンス テストの例です。このコードをコピーして実行し、結果を確認できます:
#include <stdio.h> #include <stdlib.h> #include <time.h> // 定义一个比较函数,用于 qsort int compare(const void* a, const void* b) { return (*(int*)a - *(int*)b); } int main() { // 生成一个随机数组 srand(time(0)); int n = 1000000; // 数组大小,你可以根据需要调整这个数值 int* arr = (int*)malloc(n * sizeof(int)); for(int i = 0; i < n; i++) { arr[i] = rand(); } // 记录开始时间 clock_t start = clock(); // 使用 qsort 对数组进行排序 qsort(arr, n, sizeof(int), compare); // 记录结束时间 clock_t end = clock(); // 输出运行时间(以毫秒为单位) printf("Sorting %d elements took %f milliseconds\n", n, ((double)end - start) * 1000 / CLOCKS_PER_SEC); // 释放内存 free(arr); return 0; }
このテストは、おおよそのパフォーマンスを提供するだけであることに注意してください。インジケーターは、すべてのケースで同じ結果を保証するものではありません。実際のパフォーマンスは、ハードウェアのパフォーマンス、オペレーティング システムのスケジューリング、メモリ アクセス パターンなど、多くの要因の影響を受けます。より正確なパフォーマンス テストが必要な場合は、gprof、Valgrind の callgrind、kcachegrind などの特殊なパフォーマンス分析ツールを使用する必要がある場合があります。
以上がC言語のqsort関数アルゴリズムのパフォーマンステストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。