ホームページ  >  記事  >  バックエンド開発  >  マイクロタイムに関する知識をphpでまとめました

マイクロタイムに関する知識をphpでまとめました

WBOY
WBOYオリジナル
2016-07-25 09:07:32904ブラウズ
  1. class runTime {

  2. var $StartTime = 0;
  3. var $StopTime = 0;
  4. var $TimeSpent = 0;

  5. function start(){

  6. $this->StartTime = microtime();
  7. }

  8. function stop(){

  9. $this->StopTime = microtime();
  10. }

  11. function Spent() {

  12. if ($this->TimeSpent) {
  13. return $this->TimeSpent;
  14. } else {
  15. $StartMicro = substr($this->StartTime,0,10);
  16. $StartSecond = substr($this->StartTime,11,10);
  17. $StopMicro = substr($this->StopTime,0,10);
  18. $StopSecond = substr($this->StopTime,11,10) ;
  19. $start = floatval($StartMicro) + $StartSecond;
  20. $stop = floatval($StopMicro) + $StopSecond;
  21. $this->TimeSpent = $stop - $start;
  22. returnround($this-> TimeSpent,8);
  23. }
  24. } // 関数終了
  25. }

复制代

注解:

1、何のための封装欠完了ですか? 使用中に、私は var (public ) 形式で存在する必要がなく、クラスを使用して、オブジェクトのいくつかの基本規定に準拠し、このクラスのプロパティを公開しました。この量は完全にプライベートアクセス制御を使用できます。 。

2、マイクロタイムは役に立ちませんか? マイクロタイムに関するいくつかの説明:

和用法を定める microtime() 関数は、現在の Unix 時間とマイクロ秒を返します。 結果が使用時間に応じて選択できるパラメータ、本関数の数は "msec sec" の形式で文字列を返します。その中の sec は Unix 纪元(1970 年 1 月 1 日 0:00:00 GMT)から発生した秒数、msec文字列の 2 つの部分は両方とも秒単位で返されます。

PHP5 以上のバージョンではパラメータを受け入れることができるため、浮遊量を直接返すことができ、効率が非常に高くなります。 以下は、ネット上で入手できる小さなコードです。参考にしてください。

    function microtime_float3(){

  1. return microtime(true);
  2. }

  3. function microtime_float2(){

  4. if( PHP_VERSION > 5){
  5. return microtime(true);
  6. }else{
  7. list($usec, $sec) =explode(" ", microtime());
  8. return ((float)$usec + (float)$sec);
  9. }
  10. }

  11. function microtime_float(){

  12. list($usec, $sec) =explode(" ", microtime());
  13. return ((float)$usec + (float)$sec);
  14. }

  15. function runtime($t1){

  16. returnnumber_format((microtime_float() - $t1)*1000, 4).'ms';
  17. }

  18. $t1 = microtime_float();

  19. for($i=0;$i microtime_float();
  20. }
  21. エコー "microtime_float======;
  22. エコー ランタイム($t1).'
    ';
  23. $t1 = microtime(true);

  24. for($i=0;$i microtime(true);

  25. }
  26. エコー "microtime_true======;
  27. エコー ランタイム($t1).'
    ';
  28. $t1 = microtime(true);

  29. for($i=0;$i microtime_float2();

  30. }

  31. echo "microtime_float2=====";

  32. エコー ランタイム($t1).'
    ';
  33. $t1 = microtime(true);

  34. for($i=0;$i microtime_float3();

  35. }
  36. エコー "microtime_float3======;
  37. エコー ランタイム($t1).'
    ';
  38. ?>

  39. 复制代
本机winxp运行結果: microtime_float=====109.5631ms microtime_true=====38.8160ms microtime_float2=====52.7902ms microtime_float3=====45.0699ms Linux 上での実行結果: microtime_float=====47.2510ms microtime_true=====9.2051ms microtime_float2=====16.3319ms microtime_float3=====12.2800ms

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。