ホームページ > バックエンド開発 > PHPチュートリアル > 複数のパラメーターまたはコンテキスト オブジェクトを渡すかどうかに関する PHP パフォーマンス テスト_PHP チュートリアル

複数のパラメーターまたはコンテキスト オブジェクトを渡すかどうかに関する PHP パフォーマンス テスト_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:15:50
オリジナル
1036 人が閲覧しました

WeChatパブリックプラットフォームの開発プロセスでは、$userOpenId、$message、$timeなど、常に渡す必要があるパラメータがいくつかあります。

プログラムの実行プロセス全体を通じて、関数処理の便宜上、これら 3 つの変数は常にパラメーター リストに配置されます。この点に関して、Android では常に Context オブジェクトが渡されているのではないかと思いました。これは、プログラム全体の実行ロジックに含まれる、必要なデータの一部が Context に格納されているのではないかと理解しています。

そこで考えたのですが、3つの変数はContextにパッケージ化すべきでしょうか?パフォーマンスに改善はありますか?

PHPの関数パラメータが変数の場合、変数のコピーに直接渡され、オブジェクトに渡される場合は、オブジェクトのポインタに渡されます。つまり、関数内で String が定義および変更された場合、それが戻り値の形式で返されない場合、変数は変更されていませんが、変数のコピーは変更されています。オブジェクトを定義して関数に組み込んで操作すると、オブジェクト自体が直接変更されます。

上記の考え方から、オブジェクトを渡した方が(コピーする必要がないので)早いのではないかと思います。そこで、テストのために次のコードを書きました。

リーリー

テスト結果はコメントに書きましたが、単位はms(ミリ秒)です。 Context の転送が少し遅いことがわかります。もちろん、このコンテキストの環境を 1 つのコードで 5,000 回やり取りすることはできず、パフォーマンスの違いがミリ秒単位で非常に小さいことを考慮すると、コンテキスト オブジェクトを使用して必要なパラメーターを渡すことは、より洗練された選択です。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/440163.html技術記事 WeChat パブリック プラットフォームの開発プロセスでは、$userOpenId、$message、$time など、常に渡す必要があるパラメーターがいくつかあります。 プログラム全体の実行中、関数の便宜上...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート