可能な限りPHPネイティブ関数を使用しますか? , php関数
今日kohanaのソースコードのArrクラスを読んでいたらこんな関数を見つけました
リーリー
リーリー
リーリー
リーリー
ネイティブ関数とカスタム関数をそれぞれ使用してテストしたところ、0 から 1000000 までの 3 の倍数をすべて生成すると、結果は予想を超えていました。
最初はネイティブ関数を使用した結果です:
統計の数
| ネイティブ関数 range()
| カスタム function_range()
|
(0,1000000,3)
| 5.155E-3s
| 27.5530M
| 1.907E-5s
| 0.1241M
|
(0,1000000,2)
| 7.479E-3s
| 40.2688M
| 1.811E-5s
| 0.1241M
|
(0,1000,1)
| 8.16E-5秒
| 0.1620M
| 2.649E-5s
| 0.1241M
|
表から、乱数を生成する場合、カスタム関数はネイティブ関数よりもメモリと時間を節約することがわかります。さらに、ネイティブ関数は大量の乱数を生成するときに多くのメモリと時間を消費しますが、カスタム関数は効率が低くなります。この点に関しては、パフォーマンスは良好で、生成されるメモリと消費時間は基本的に安定しています。前の先輩が言ったことは完全に正しいわけではないようですが、ここでのカスタム関数は数値しか生成できないことに注意してください。ネイティブ範囲でも文字を生成できますが、このカスタム関数を使用して文字を追加するのはそれほど難しくないと思います~
Kohana 公式は、PHP カーネルの range 関数とこの関数の複雑さをよく理解しているようです。だからこそ、この小さな最適化がこれほどうまくできるのです。 ! !
送ってください~
http://www.bkjia.com/PHPjc/923414.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/923414.html技術記事可能な限り PHP ネイティブ関数を使用しますか? , php 関数 今日、kohana のソースコードの Arr クラスを読んでいるときに、このような関数を見つけました。 /** * 配列に数値の範囲を入力します。 ...
。