PHP-多数のarray_mergeの最適化()

私が今話そうとしている小さなヒント、私はかなり長い間学びました。 しかし、最適化が現在のプロジェクトですでにかなりの時間を節約するのに役立ったのはこの場所であることがわかったので、私はそれを一般の人々と共有することにしました(男性は知りません、ええ)。

簡単に言うと、ここにテストスクリプトとその出力を示します。

$ start = microtime true ;
$ res1 = array ;
for $ i = 0 ; $ i < 1000 ; $ i ++ {
$ res1 = array_merge $ res1 array 1、2、3 ;
}
echo "1000 merges:" ceil microtime true - $ start * 1000 「ms \ n ;

$ start = microtime true ;
$ toMerge = array ;
for $ i = 0 ; $ i < 1000 ; $ i ++ {
$ toMerge [ ] = array 1、2、3 ;
}
$ res2 = call_user_func_array 'array_merge' $ toMerge ;
echo "call_user_func_array( 'array_merge'、..):" ceil microtime true - $ start * 1000 「ms \ n ;

echo "2つの配列が等しいというのは本当ですか?それは同じです" ;
var_export $ res2 === $ res1 ;
エコー "。 \ n " ;

~ % php ~/tmp/array_merge.php
1000 merges: 980ms
call_user_func_array('array_merge',..): 11ms
Is it true that the two arrays are equal? It is true.


大幅な節約になります。 おそらく誰かが役に立つでしょう。

Source: https://habr.com/ru/post/J101608/


All Articles