php大配列ループネストのパフォーマンス最適化
952 ワード
一、前言
ブロガーは最近
二、テストプログラム性能ツール
まずいくつかのテストツールを提供して、私たちのどのプログラムが時間を費やして、メモリを消費しているかを明確に知ることができます.
1、テストプログラムの実行時間の関数:
このプログラムを借りて関数の実行速度を検出し、ミリ秒を出力します.この関数については、以前の記事を参照してください.phpは現在の時間のミリ秒数を取得し、コードセグメントの実行時間をテストします.
2、phpはメモリを占有する
ここでは,現在のメモリ消費量の差を取得することにより,プログラム実行で消費されるメモリを判断する.メモリを通過するピーク
ブロガーは最近
elasticsearch
でプロジェクトを行い、検出されたデータはすべて配列であり、データの組み立てデータをフィルタリングする際に、ループネストの問題に遭遇するのは避けられない.2つの50000
の配列がループネストされている場合、実際の演算は50000*50000
の演算量であり、プログラムの実行速度に非常に影響します.この文書は主にブロガー最適化プログラムの過程を記録する.二、テストプログラム性能ツール
まずいくつかのテストツールを提供して、私たちのどのプログラムが時間を費やして、メモリを消費しているかを明確に知ることができます.
1、テストプログラムの実行時間の関数:
/*
* php
* */
function msectime() {
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
return $msectime;
}
このプログラムを借りて関数の実行速度を検出し、ミリ秒を出力します.この関数については、以前の記事を参照してください.phpは現在の時間のミリ秒数を取得し、コードセグメントの実行時間をテストします.
2、phpはメモリを占有する
echo " : ".memory_get_usage()."
";
echo " : ".memory_get_peak_usage()."
";
ここでは,現在のメモリ消費量の差を取得することにより,プログラム実行で消費されるメモリを判断する.メモリを通過するピーク