PHP 拡張機能を使用します。主な目的は、プログラムの実行効率を向上させ、アクセス数の多いコードまたはロジックの拡張機能を作成することです。プロジェクトを実行する過程で、データを並べ替える必要があります。データ操作は比較的複雑です。プログラムの前に行ったテストは次のとおりです。まず、PHP プログラムを使用します。 100万個の乱数を生成してファイルに保存します。
乱数を生成するコードは次のとおりです。
コードをコピーします。 コードは次のとおりです。
set_time_limit(0)
ini_set("memory_limit", -1); );
for($i $data[] = rand();
file_put_contents('data.php', '");
コードは非常に単純で一目で理解できるため、ここでは説明しません。
以下はPHPで書かれたクイックソート、PHP独自のソート関数、および独自の拡張ソート関数です。
PHPコードを以下に説明します。 hello 関数を自分で作成した拡張機能
コードをコピーします コードは次のとおりです:
ini_set("memory_limit", -1);
set_time_limit(0); data.php'); / /生成された乱数はこのファイルに保存されます
$data_s = $data_q = $data; ", microtime()));
qsort($data, 0, $len-1);
$s_t = array_sum(explode(" ", microtime()));
sort($data_s);
$q_t = array_sum(explode(" ", microtime ()));
$data_q = hello($data_q);
$r_t = array_sum(" ", microtime())); " . ($s_t-$s_s ) . "
gt;";
echo "システムの並べ替え関数の使用時間は次のとおりです: " . ($q_t-$s_t) . "
";
echo "ローカルソート関数の使用時間は次のとおりです: " . ($ r_t-$q_t) . "
";
echo "2 つの結果の比較:" . ($data_s === $data_q);
function qsort(&$arr , $l, $u)
{
if($l >= $u)
$m = $l;
for($i = $l+1; $i{
if($arr[ $i] < $arr[$l])
{
$m++;
if($m != $i)
{
$t = $arr[$i];
$arr[$i] = $arr[$m];
$arr[$m] = $t;
}
}
$t = $arr[$l]; $arr[$m]; $arr [$m] = $t;
qsort($arr, $m+1, $u); ?>
とても簡単ですよね? あまり詳しく説明せずに、この拡張機能の開発について説明しましょう。インターネット上に多くの説明があります。ここでは詳細を説明しません。
まず、PHP ライブラリ ファイルを使用して基本的な拡張プロジェクトを生成します。
生成されたプロジェクトに、独自のクイック ソートを記述します。 PHPプログラムをC言語に素早くソートします。 DLL を生成したら、それを php 拡張機能に配置し、まず拡張機能が有効になっているかどうかを確認します。
その後、コード内で直接 hello 関数を使用します (ここでは関数名を変更しませんでした)
注: 拡張機能は包括的に考慮する必要があり、使用中に間違いがあってはならない、特に C で書かれたコード、そうでない場合は PHPシステムがクラッシュします
http://www.bkjia.com/PHPjc/322286.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/322286.html
技術記事
PHP 拡張機能を使用します。主な目的は、プログラムの実行効率を向上させ、アクセス数の多いコードまたはロジックの拡張機能を作成することです。プロジェクトに取り組む過程で、データを並べ替える必要があります...