タグ

ブックマーク / www.drk7.jp (8)

  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

  • GraphViz によるグラフ描画が超便利すぎる件について

    UML::Class::Simple で Catalyst のクラス継承図を描いてみた の時にインストールした GrapgViz ですが、DOT 言語を覚えるとグラフ描画が必要な要件に対する解決策として大変有効かつ便利な事に気がつきました。 いろいろと自分が触るのに、いちいちアレコレするのが面倒になってきたので、簡易 CGI も記述しました。これが超便利。自分的に。ソースも晒しておくので、どうぞご自由にお持ち帰り下さい。 ちょっとした使い捨てプログラムのシーケンスを人に説明したり、アンケート等のページ遷移を説明したりするのに、ちょちょっと描画したりする時に威力を発揮します。ドキュメントを書くのが猛烈に面倒くさい僕みたいなタイプの人は、DOT言語を覚えておいて損はないかと思います。 改めて Graphviz - Graph Visualization Software についての説明 Gra

  • FMV-BIBLO LOOX U/B50 届いたので徹底レビュー(その4)

    FMV-BIBLO LOOX U/B50 届いたので徹底レビューの第四回目です。最後に Vista 軽量化を書くと宣言したにもかかわらず書くモチベーションが急速に低下して放置していたエントリの続きを書きました。(苦笑 では LOOX U の OS が Vista じゃんくて XP ならどれだけ快適だったのだろう・・・と思ったかというと、現時点では僕はそう感じていません。それは LOOX U を使い始める前に自分にとって不要な OS のサービスを次々に止めて空きメモリの確保に努めたからです。 と前回書いたとおり、約一ヶ月経った今も引き続き Vista を使っています。その後使い続けて思うことは、若干キーボードが小さくて人差し指二を使ってキーボードをたたくのでインプットが遅くて仕方がないのが気になる程度です。速度はネットブックという割り切りで慣れました。 さてやっと題。僕が LOOX U

  • あなたの作ったメール配信システムはエラーメール処理をしていますか?

    今回はメルマガ等やメーリングリストのように大量のメールを配信するためのメール配信システムを自前で開発している方向けの情報(備忘録?)です。 大量のメールを配信する場合、配信できなかったエラーメールを適切に処理することが重要です。たとえば、 なんて感じです。適切なエラーメール処理なくば、知らず知らずのうちに SPAMer と同じようなメール配信をしていることになってしまうのです。かく言う僕の作ったメール配信システムも、それほどエラーメール処理を厳密に行っているわけではなく、何とかしないとなぁ〜と思っている今日この頃で、ちまちま資料を集め始めて仕様検討している次第です。

    somat
    somat 2007/09/12
  • Lighttpd 1.5 系がスゴイらしい

    はてブで lighty のブログがあることを知ってブログを見てみました。lighty の中の人が書いてます。 ナント、lighty 1.5 系が pre release されているではありませんか! なんでも、1.5 系は いままでより 80% のスループット向上が見込めると書かれています。激速の lighty が更に高速になるってわけですよ。Σ(゚Д゚; Using Async IO allows lighttpd it overlap file-operations. We send a IO-request for the file and get notified when it is ready. Instead of waiting for the file (as in the normal sendfile()) and blocking the server, we ca

    somat
    somat 2006/11/18
  • Template Toolkit の配列へのアクセス方法メモ

    Perl でデザインとビジネスロジック分割して開発効率と保守性を改善する MVC な Web アプリケーションを作るには欠かせないテンプレートエンジン。Perl な世界では、HTML::Template と Template-Toolkit が有名です。 前者は Pure Perl でかかれているので、レンタルサーバとかでもライブラリパスを通すだけで使えるので手軽で便利です。後者は XS で書かれていて遙かに高機能でしかも高速です(実際の動作速度はほぼ同じですが、遙かに高機能な Template Toolkit の内部動作が如何に高速かがわかるでしょう・・・)。 最近 Template Toolkit を使ってアプリを書くことが多いのですが、日語なドキュメントが極端にすくないです。より深きを知るためにオリジナルのドキュメントを読んでいて初めて知ったことが沢山ありました。 いままで、配列は

  • ファイル検索イテレータ Find::File::Iterator って便利かも?

    Perl でディレクトリ一覧を取得するとき、File::Find を使ったり、opendir でゴリゴリ書いたりってのが普通だったりしませんか?Perl 標準だけで書けるので。僕の場合は、配布用 CGI とかは、File::Find を使って、それ以外では自前のモジュールって感じで使っていました。 で、最近 File::Find::Iterator を今更ながら知りました。なんか 2003 年でメンテナンスが止まっているっぽいですが、なかなか優れもののモジュールです。ソースを見ると File::Find を継承したものではなく、Class::Iterator を継承して IO::Dir 使って書かれてます。今、Author をよく見たら作者が同じだった・・・。 File::Find を使った場合は、 use File::Find; our @files; our @dirs; find(\

  • Perl 界で今 HOT な MVC フレームワーク Catalyst のインストール方法

    現在もっとも注目されていて評価もかなり高い MVC フレームワークとして Ruby on Rails ってのがあります。Ruby on Rails って方は、「【レポート】Lightweight Language Day and Night - フレームワーク対決 (MYCOM PC)」にスマートにまとめられていますが、 Ruby on Railsの特徴はいくつもあるが、必要になるファイルが自動生成されるという点が興味深いところだ。railsコマンドを実行すると必要になるファイルが自動的に生成される。標準的な利用であれば、設定ファイルを書くだけでウェブアプリケーションとして動作させることも可能だ。 Ruby on RailsにはDRY(Don't Repeat Yourself)というポリシーがあり、できるだけ同じことはしないようになっている。DRYを実現する方法として、規約重視、言語重視

  • 1