タグ

PHPと測定に関するiwwのブックマーク (5)

  • 【PHP】その CSV 変換、本当に「fgetcsv」でいいの?

    こんにちは。ウェブ開発担当の木戸です。 突然ですが、PHPCSV ファイルを連想配列に変換してゴニョゴニョ…ってよくやりますよね? 私も先日開発中に、CSV の関数なんだったかなーと思って「php csv」で検索していたのですが、ファーストビューが定番の fopen して fgetcsv の公式サンプルや記事ばかりでタイトル通り「?」だったので、調査してみたところ、意外と面白いことがわかりました。 やっぱり fgetcsv だけじゃなかった 似たような機能を持つ関数が複数あり、公式ドキュメントを見てもどれを使っていいかわからない、なんてこと PHP ではよくありがちです。CSV 変換もやっぱりいろんな方法がありました。 そこで今回は、あらゆる CSV 変換処理を検証し、処理時間とメモリ使用量を比較します。処理はレコードごとの連想配列に変換するのみで、よくセットでやる文字コードの変換や

    【PHP】その CSV 変換、本当に「fgetcsv」でいいの?
    iww
    iww 2020/01/21
    fopen+fgetcsv でいいや
  • php メモリ使用量測定メモ - kame's engineer note

    Rails系の記事ばかりだったが、久々にphpでメモリの使用量を計測する機会があったので、やり方をメモっておく。 phpに割り当てられた現在のメモリ使用量を測定 memory_get_usage() を使用する。 http://php.net/manual/ja/function.memory-get-usage.php <?php echo "first:".memory_get_usage() / (1024 * 1024)."MB\n"; $arr = []; for($i=0;$i<10000;$i++) { $arr[] = $i; } echo "now:".memory_get_usage() / (1024 * 1024)."MB\n"; output first:0.21486663818359MB now:1.6373443603516MB phpに割り当てられたメモリ

    php メモリ使用量測定メモ - kame's engineer note
    iww
    iww 2019/07/02
    memory_get_usage()
  • 「@」でエラー抑制すると PHP が遅くなるという噂について : a My RSS 管理人ブログ

    PHP では @ を付けることでエラーを回避できるという便利な記述方法があり、ものぐさな私などは if (@$var["foo"]) $result = $var["foo"]; みたいなコードを書いてしまいます。 で、この処理が「遅い」という噂やツッコミを度々受けるので調べてみました。 「ほら、そんな気にするほどでも無いよ」という結果を期待していたのですが、、、なんじゃこりゃ。。。 劇遅じゃないですか、これ。 いやはや・・・ ちょっと列挙しますね。以下のようなコードを単純 for 文で 100万回実行したときの結果です。 error_reporting(0) で PHP4 if (@$a["hoge"]) $b = $a["hoge"]; ⇒ 約 2.4 秒 if ($a["hoge"]) $b = $a["hoge"]; ⇒ 約 1.3 秒 if (isset($a["hoge"]))

    iww
    iww 2018/09/20
    マジか あとで実験してみよう
  • PHPのautoloadはどこまで効率的なのかrequire_onceと比べてみた

    autoloadのオーバーヘッドはどれぐらい? モダンな実装のフレームワーク類には,かなりの割合で用意されているautoloadですが,require&require_once天国と比べてオーバーヘッドはどの程度変化しているのかと疑問に思って調べてみました. 不規則に何度も呼ばれる可能性があるばあいの,require_onceとの比較が中心です. サンプル処理 いくつかの方法でクラスファイルを読み込むようにし,ダミーのインスタンスを1000回生成します.ぐるんぐるんです. autoloadする autoloadの処理がカラッポだとズルいので,適当なダミー処理を挟んでいます. <?php function autoload($className) { $chunks = explode('_', 'Dummy_Sample_Class_Name'); $path = implode('/',

    PHPのautoloadはどこまで効率的なのかrequire_onceと比べてみた
    iww
    iww 2015/01/15
  • PHPでクラスのincludeを自動化するautoloadの速度を測ってみた。

    こんな機能があるなんて知りませんでした。割と古いPHPで頭が止まっていましたが、久しぶりにPHPのドキュメントを呼んでいて、autoloadという機能があることを知りました。 大規模プロジェクトだと、クラスをincludeするだけで一苦労 超大雑把に説明すると、以下のようなソースコードはエラーを吐きます。 このとおり。 PHP Fatal error: Class 'MyClass' not found in /Users/katty/Documents/AutoLoader/index.php on line 2 そもそも、MyClassというクラスが定義されているファイルをincludeしないと使えないというエラーです。 規模が大きくなってきて、クラスが100個とか200個とかになってくると、includeするだけでも一苦労だったりしますね。 クラスを使うためにソースコードを自動でin

    PHPでクラスのincludeを自動化するautoloadの速度を測ってみた。
    iww
    iww 2015/01/15
  • 1