mb_substr
0pt
これするとなかなか終わらない。mb_substrが遅すぎる?
<?php $string = file_get_contents('big.txt'); // 12MBぐらいのデータ $len = mb_strlen($string); for ($i = 0; $i < $len; $i++){ $char = mb_substr($string, $i, 1); } var_dump('ok');
計ってみた
N substr(sec) mb_strlen(sec) --------------------------------------- 100 0.0017 0.001 1,000 0.015 0.01 10,000 0.15 0.3 20,000 0.31 1.11 30,000 0.44 2.38 50,000 0.75 6.19 100,000 1.5 23.03 1,000,000 14.98 ----- 10,000,000 151.35 -----
うーん、遅い。12MBだと10,000,000ぐらいだからこりゃ終わらないね!
なんか指数的に増えてるなーなんでだろ。
あなたにとって「mb_substr」とは?
お気に入りの説明
2 pt
http://mindia.jp/book/akkun/title/mb_substr PHPの実装を読んでないけど、実験結果とマルチバイト文字の性質からから推測。 asciiのみの文字列の時は1文字1byteを想定しているので、先頭からn文...
もっと読む
コメントはまだありません