目次
PHPパフォーマンスのミクロ分析
ホームページ バックエンド開発 PHPチュートリアル PHP パフォーマンスの微視的分析_PHP チュートリアル

PHP パフォーマンスの微視的分析_PHP チュートリアル

Jul 12, 2016 am 09:08 AM
パフォーマンス

PHPパフォーマンスのミクロ分析

1. 性能解析に関する機能とコマンド
1.1.時間計測機能
通常は time() 関数を使用しますが、特定のコード部分の内部パフォーマンス分析の場合、秒単位の精度では十分ではありません。そこでmicrotime関数を使います。 microtime 関数は 2 つの形式を返すことができます。1 つは文字列の形式で、もう 1 つは浮動小数点数の形式です。ただし、デフォルトでは返される精度は小数点以下 4 桁のみであることに注意してください。より高い精度を得るには、精度を設定する必要があります。
以下はマイクロタイムを使用した結果です。
リーリー

出力は次のとおりです:
bash-3.2# phptime.php
1441360050.3286
1441360050.3292
0.00053000450134277
そして、コードの前に行を追加します:
ini_set("精度", 16);
出力は次のとおりです:
bash-3.2# phptime.php
1441360210.932628
1441360210.932831
0.0002031326293945312
microtime の内部統計に加えて、getrusage を使用してユーザー状態イベントを取得することもできます。実際の運用では、プログラム全体の実行時間を計算するためにtimeコマンドを使用することもよくあります。プログラムを複数回実行したり、コードを変更したりすることで、異なる時間長を取得し、効率の差を得ることができます。 具体的な使用法は次のとおりです: time phptime.php プログラムが完了すると、正常に終了するかどうかに関係なく、関連する統計が表示されます。
bash-3.2# 時間 phptime.php
1441360373.150756
1441360373.150959
0.0002031326293945312
実質0分0.186秒
ユーザー 0分0.072秒
システム 0分0.077秒
この記事で説明するパフォーマンスの問題のため、コード内に時間統計コードが存在するのを避けるために、後から主に time コマンドを使用して、数百万回の呼び出し後にギャップと傾向を分析します。
1.2. メモリ使用量関連の機能
メモリ使用量を解析する関数には、memory_get_usageとmemory_get_peak_usageの2つがあり、前者はプログラム呼び出し時に使用されているメモリ、つまり現在使用されているメモリを取得でき、後者は使用メモリを取得できます。これまでのピーク時。使用されるメモリはバイト単位です。
リーリー

出力は次のとおりです:
bash-3.2# phphelloworld.php
こんにちは、世界!
224400 224568 168 227424
プログラムの途中で一文だけ出力するだけでも、変数ストレージを加えて168バイトのメモリが消費されることがわかります。
同じプログラムでも、異なる PHP バージョンのメモリ使用量は同じではないか、あるいは大きく異なります。
リーリー

PHP 5.2 では、メモリ使用量は次のとおりです:
リーリー

PHP 5.3ではメモリ使用量は以下の通りです
リーリー

PHP 5.3 はメモリ使用量がより広範囲であることがわかります。
PHP 5.4 - 5.6 はほとんど同じですが、いくつかの最適化が施されています:
リーリー

PHP 7 を少量使用すると、ピーク時のメモリ使用量が大幅に増加します。
リーリー

上記からわかるように、上記で使用した PHP は比較的優れたガベージ コレクション メカニズムを備えており、100,000 回の初期化によってオブジェクトの初期化が増加してもメモリ使用量は増加しません。 PHP7 のピーク時のメモリ使用量は最も高く、2M 近くに達します。
別の例を見てみましょう。上記のコードに基づいて、次のような太字の行を追加します。
$obj->self = $obj;
コードは次のとおりです:
リーリー

echo "peak: ",memory_get_peak_usage(true), " bytesn";

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1053349.html技術記事 PHPのパフォーマンスの微視的な分析 1. パフォーマンス分析に関連する関数とコマンド 1.1. 時間測定関数 通常は time() 関数を使用しますが、これはあるコードの内部の秒数を返します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

vivox100sとx100の違い:性能比較と機能分析 vivox100sとx100の違い:性能比較と機能分析 Mar 23, 2024 pm 10:27 PM

vivox100s と x100 携帯電話はどちらも vivo の携帯電話製品ラインの代表的なモデルであり、それぞれ異なる時代における vivo のハイエンド技術レベルを代表するものであるため、2 つの携帯電話にはデザイン、性能、機能に一定の違いがあります。この記事では、消費者が自分に合った携帯電話をより適切に選択できるように、これら 2 つの携帯電話を性能比較と機能分析の観点から詳しく比較します。まずはvivox100sとx100の性能比較を見てみましょう。 vivox100s には最新の機能が搭載されています。

Windows 11 で非表示のパフォーマンス オーバーレイを表示する方法 Windows 11 で非表示のパフォーマンス オーバーレイを表示する方法 Mar 24, 2024 am 09:40 AM

このチュートリアルでは、Windows 11 の隠れたパフォーマンス オーバーレイを明らかにするのに役立ちます。 Windows 11 のパフォーマンス オーバーレイ機能を使用すると、システム リソースをリアルタイムで監視できます。コンピューター画面上でリアルタイムの CPU 使用率、ディスク使用率、GPU 使用率、RAM 使用率などを表示できます。これは、ゲームをプレイしているときや大規模なグラフィック プログラム (ビデオ エディターなど) を使用しているときに、特定のプログラムの使用時にシステム パフォーマンスがどの程度影響を受けるかを確認する必要がある場合に便利です。システム パフォーマンスを監視するための優れた無料ソフトウェアがいくつかあり、リソース モニターなどの組み込みツールを使用してシステム パフォーマンスをチェックできますが、パフォーマンス オーバーレイ機能にも利点があります。たとえば、現在使用しているプログラムやアプリを終了する必要はありません。

Windows 10 と Windows 11 のパフォーマンス比較: どちらが優れていますか? Windows 10 と Windows 11 のパフォーマンス比較: どちらが優れていますか? Mar 28, 2024 am 09:00 AM

Windows 10 と Windows 11 のパフォーマンス比較: どちらが優れていますか?テクノロジーの継続的な開発と進歩により、オペレーティング システムは常に更新され、アップグレードされます。世界最大のオペレーティング システム開発者の 1 つとして、Microsoft の Windows シリーズ オペレーティング システムは常にユーザーから大きな注目を集めてきました。 2021 年、Microsoft は Windows 11 オペレーティング システムをリリースし、広範な議論と注目を引き起こしました。では、Windows 10 と Windows 11 のパフォーマンスの違いは何でしょうか?

PHP 言語と Go 言語の比較: 大きなパフォーマンスの違い PHP 言語と Go 言語の比較: 大きなパフォーマンスの違い Mar 26, 2024 am 10:48 AM

PHP と Go は一般的に使用される 2 つのプログラミング言語であり、それぞれに異なる特徴と利点があります。その中でも性能差は誰もが一般的に気にする問題です。この記事では、パフォーマンスの観点から PHP 言語と Go 言語を比較し、具体的なコード例を通じてパフォーマンスの違いを示します。まずは、PHPとGo言語の基本的な機能を簡単に紹介します。 PHP は、もともと Web 開発用に設計されたスクリプト言語で、学習と使用が簡単で、Web 開発の分野で広く使用されています。 Go 言語は、Google によって開発されたコンパイル言語です。

Embedding サービスのローカル実行パフォーマンスは OpenAI Text-Embedding-Ada-002 を上回っており、とても便利です。 Embedding サービスのローカル実行パフォーマンスは OpenAI Text-Embedding-Ada-002 を上回っており、とても便利です。 Apr 15, 2024 am 09:01 AM

Ollama は、Llama2、Mistral、Gemma などのオープンソース モデルをローカルで簡単に実行できるようにする非常に実用的なツールです。この記事では、Ollamaを使ってテキストをベクトル化する方法を紹介します。 Ollama をローカルにインストールしていない場合は、この記事を読んでください。この記事では、nomic-embed-text[2] モデルを使用します。これは、短いコンテキストおよび長いコンテキストのタスクにおいて OpenAI text-embedding-ada-002 および text-embedding-3-small よりも優れたパフォーマンスを発揮するテキスト エンコーダーです。 o が正常にインストールされたら、nomic-embed-text サービスを開始します。

Win11 と Win10 システムのパフォーマンスを比較すると、どちらの方が優れていますか? Win11 と Win10 システムのパフォーマンスを比較すると、どちらの方が優れていますか? Mar 27, 2024 pm 05:09 PM

Windows オペレーティング システムは、常にパーソナル コンピューターで最も広く使用されているオペレーティング システムの 1 つであり、最近 Microsoft が新しい Windows 11 システムを発売するまで、Windows 10 は長い間 Microsoft の主力オペレーティング システムでした。 Windows 11 システムのリリースに伴い、Windows 10 と Windows 11 システムのパフォーマンスの違いに関心が集まっていますが、どちらの方が優れているのでしょうか?まずはWを見てみましょう

PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 PHP 配列キー値の反転: さまざまな方法のパフォーマンス比較分析 May 03, 2024 pm 09:03 PM

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

さまざまな Java フレームワークのパフォーマンスの比較 さまざまな Java フレームワークのパフォーマンスの比較 Jun 05, 2024 pm 07:14 PM

さまざまな Java フレームワークのパフォーマンス比較: REST API リクエスト処理: Vert.x が最高で、リクエスト レートは SpringBoot の 2 倍、Dropwizard の 3 倍です。データベース クエリ: SpringBoot の HibernateORM は Vert.x や Dropwizard の ORM よりも優れています。キャッシュ操作: Vert.x の Hazelcast クライアントは、SpringBoot や Dropwizard のキャッシュ メカニズムよりも優れています。適切なフレームワーク: アプリケーションの要件に応じて選択します。Vert.x は高パフォーマンスの Web サービスに適しており、SpringBoot はデータ集約型のアプリケーションに適しており、Dropwizard はマイクロサービス アーキテクチャに適しています。

See all articles