PHP プログラムの高速化探索のためのコードの最適化
プログラム
PEAR::BenchMark をマスターしたので、コードをテストする方法、コードが速いか遅いか、どの部分が遅いかを判断する方法がわかりました。そこで次に話したいのは、遅いコードのその部分を削除または最適化する方法についてです。
現時点での私の個人的な経験の主なポイントは 2 つだけです。1 つは、間違ったループや非効率なループを排除することです。もう 1 つは、データベース クエリ ステートメントを最適化することです。実際、「str_replace は ereg_replace より速い」、「echo は print より速い」など、他にも最適化の詳細がいくつかあります。これらについてはひとまず脇に置き、頻繁すぎる IO に対処するためのキャッシュの使用については後ほど説明します。
以下では、同じ機能でプログラムの書き方が異なる3つの機能の効率(消費時間)を比較します。
badloops.php
require_once('Benchmark/Iterate.php')
define('MAX_RUN',100);
$data = array(1, 2, 3, 4, 5);
doBenchmark('v1', $data);
doBenchmark('v3', $data);
関数 doBenchmark($functionName = null, $arr = null);リセット($arr);
$benchmark = new Benchmark->run(MAX_RUN, $functionName, $arr);
echo '
'; printf("%s は %d 回実行され、平均実行時間は %.5f ミリ秒",$functionName,$result['iterations'],$result['mean'] * 1000); = null) {
// 非常に非効率なループ
for ($i =0; $i {
echo ' '
}
}
//最高の効率
" <!--", implode(" --> ";
}
?>
プログラムの出力結果はおそらく次のようになります:
v1 ran 100回、平均実行時間0.18400ミリ秒
v2が100回、平均実行時間0.15500ミリ秒
v3が100回、平均実行時間0.09100ミリ秒
関数の実行時間が短くなり、効率が上がっていることがわかります。
関数 v1 には明らかなエラーがあります。各ループの時間を計算するには sizeof() 関数を呼び出す必要があります。関数 v2 は、$myArray 配列の要素数をループの外で $max 変数に格納するため、各ループで配列の要素数を計算する必要がなくなり、効率が向上します。 Function v3 は最も効率的で、既存の関数を使用してループを回避します。
この例は、比較的効率的なコードがどのようなものであるかを感覚的に理解できるようにするだけです。実際の開発では、非効率なコードをダラダラと大量に書いてしまう人も多いと思います。簡潔で効率的なコードを書くには、練習に時間がかかると思います :-) しかし、これは別のトピックなので飛ばしましょう。
データベースアプリケーションは基本的にどのPHPプログラムでも使われますが、実際に開発してみると、システム全体の効率に最も大きな影響を与えるのはデータベース部分であることが分かりました。データベースの最適化とデータ クエリ ステートメントの最適化については、紙面の都合上、ここでは詳しく説明しません。読者は「MySQL クエリ最適化技術講座」を参照してください

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

この記事では、Python の enumerate() 関数と「enumerate()」関数の目的について学びます。 enumerate() 関数とは何ですか? Python の enumerate() 関数は、データ コレクションをパラメータとして受け取り、列挙オブジェクトを返します。列挙オブジェクトはキーと値のペアとして返されます。キーは各項目に対応するインデックス、値は項目です。構文 enumerate(iterable,start) パラメータ iterable - 渡されたデータ コレクションは、iterablestart と呼ばれる列挙オブジェクトとして返すことができます。 - 名前が示すように、列挙オブジェクトの開始インデックスは start によって定義されます。無視したら

MySQL.proc テーブルの役割と機能の詳細な説明。MySQL は人気のあるリレーショナル データベース管理システムです。開発者が MySQL を使用する場合、多くの場合、ストアド プロシージャ (StoredProcedure) の作成と管理が必要になります。 MySQL.proc テーブルは非常に重要なシステム テーブルであり、ストアド プロシージャの名前、定義、パラメータなど、データベース内のすべてのストアド プロシージャに関連する情報が保存されます。この記事では、MySQL.proc テーブルの役割と機能について詳しく説明します。

Vue の使い方と機能.use Function Vue は、多くの便利な機能を提供する人気のフロントエンド フレームワークです。その 1 つは Vue.use 関数で、これを使用すると Vue アプリケーションでプラグインを使用できるようになります。この記事では、Vue.use 関数の使い方と機能を紹介し、いくつかのコード例を示します。 Vue.use 関数の基本的な使用法は非常に簡単です。Vue がインスタンス化される前に関数を呼び出し、使用するプラグインをパラメータとして渡すだけです。簡単な例を次に示します。 // プラグインの導入と使用

clearstatcache() 関数は、ファイル ステータス キャッシュをクリアするために使用されます。 PHP は、次の関数によって返された情報をキャッシュします。 -stat()lstat()file_exists()is_writable()is_readable()is_executable()is_file()is_dir()filegroup()fileowner()filesize()filetype()fileperms()より良いパフォーマンスを提供するため。構文 voidclearstatecache() パラメータ NA 戻り値 clearstatcache(

file_exists メソッドは、ファイルまたはディレクトリが存在するかどうかを確認します。チェックするファイルまたはディレクトリのパスを引数として受け取ります。これは、ファイルを処理する前に存在するかどうかを知る必要がある場合に役立ちます。これにより、新しいファイルを作成するときに、この関数を使用してファイルがすでに存在するかどうかを確認できます。構文 file_exists($file_path) パラメータ file_path - 存在をチェックするファイルまたはディレクトリのパスを設定します。必須。 return file_exists() メソッドが戻ります。ファイルまたはディレクトリが存在する場合は TrueFalse を返し、ファイルまたはディレクトリが存在しない場合は TrueFalse を返します。 例として、「candidate.txt」ファイルのチェックを見てみましょう。

js関数関数の使い方は、1. 関数の宣言、2. 関数の呼び出し、3. 関数のパラメータ、4. 関数の戻り値、5. 無名関数、6. パラメータとしての関数、7. 関数のスコープ、8. 再帰関数です。

インターネットの発展に伴い、SOA (サービス指向アーキテクチャ) は、今日のエンタープライズ レベルのシステムにおける重要な技術アーキテクチャになりました。 SOA アーキテクチャのサービスは再利用、再編成、拡張が可能であると同時に、システム開発とメンテナンスのプロセスも簡素化されます。広く使用されている Web プログラミング言語として、PHP は SOA を実装するための関数ライブラリもいくつか提供しています。次に、PHP で SOA 関数を使用する方法を詳しく説明します。 1. SOA の基本概念 SOA は分散システム開発の考え方とアーキテクチャです。
