タグ

*Perlに関するyamadarのブックマーク (122)

  • Devel::DProf

    perlスクリプトの実行速度を分析するプロファイラ。 プロファイラとは CGIを作っていて、もう少し早くならんかなと思うことは良くあります。 そんな時、やたらめったら適当にいじくっていても、それが実際 スピードアップに貢献しているとは限りません。 そういう時はプロファイラを使ってどの部分が遅いのか、 どこを改良すればいいのかを分析するべきです。 Perlにもプロファイラが用意されています。しかし、残念ながら 標準ではなくて自分でCPANから インストールしなくてはいけません。 Devel::DProf の構成 Devel::DProf には二つの部品があります。プログラム実行中にデータを 収集する為のPerl モジュールである Devel::DProf と、集めたデータを 整形して見やすく表示するコマンドの dprofpp です。 作業の手順としては、スクリプトに組み込んだ Devel::

    yamadar
    yamadar 2011/04/25
    コマンドラインから perl -d:DProf [テストしたいプログラム] で dmon.outを作成。dprofpp もしくは dprofpp -F で結果表示。
  • リファレンスの循環参照によるメモリリークを Scalar::Util::weaken で解決する - naoyaのはてなダイアリー

    Perl のガベージコレクション(GC)の実装にはリファレンスカウント方式のGCが採用されています。リファレンスカウントというのは、あるデータ構造やオブジェクトがあった際、それらを参照するリファレンスの数を内部で換算して、その数が 0 になったらメモリから実体を破棄するという仕組みです。(JavaRubyなどの他言語のGC方式については 'PerlJavaRuby における GC アルゴリズム' あたりを。) リファレンスカウント式GCは、仕組みがシンプルで分かりやすい利点を持つ反面、相互参照が原因で参照を切ることができずにオブジェクトが解放されず、結果メモリリークを引き起す場合があるという欠点も持っています。 このメモリリークはバッチスクリプトや CGI のように、一度の実行で Perl のプロセスそのものが終了するプログラムではあまり問題になりませんが、デーモンプログラム、あるい

    yamadar
    yamadar 2011/04/25
    メモリリーク対策
  • おいぬま日報(不定期) - Shibuya Perl Mongersテクニカルトーク#9 (XS Nite)に行ってきました ,

    @ [shibuya.pm] Shibuya Perl Mongersテクニカルトーク#9 (XS Nite)に行ってきました 久々にテクニカルトークに行ってきました。レポートというかまとまっていないログと感想ですが、記録のために残しておきます。 # はじめてのXS (hirose31さん) 10分遅れで参加したので最初のほうを聞けなかったのですが、XSだとメモリリークの問題があるよ〜、と言っていました。malloc/freeのように、New〜したものはSafefree()、newSV〜したものはsv_freeをして解放しないと駄目ですよと。プロファイリングにはgprofは使えないのでvalgrindを使うと良いらしいです。最後のdankogaiさんの質問が厳しかったです。 # Perl 5 Internalsの世界にようこそ (Daisuke Makiさん) XS / XSUB: CとP

  • MFPM:jigoro

    yamadar
    yamadar 2011/04/25
    ZIGOROu さんのPerlモジュールぶくま。参考にする。
  • perlの特殊変数一覧

    $0の使用例 [例: test.pl] #!/usr/bin/perl print "$0\n"; [実行結果] [testuser@server testuser]$ ./test.pl ./test.pl [testuser@server testuser]$ /home/testuser/test.pl /home/testuser/test.pl [例 argv.pl] #!/usr/bin/perl print @ARGV"; [実行結果] [testuser@server testuser]$ ./argv.pl a b c d e a b c d e « Digest::SHA | | XML::RSS::Parser »

  • 2進数、8進数、16進数での数値表現 - Perl入門〜サンプルコードによるPerl入門〜

    Perl › 数値 › here 2進数、8進数、16進数での数値の表現を解説します。 2進数 0b を先頭につけると2進数で数値を指定できます。 my $num_bin = 0b1111; 8進数 0を先頭につけると8進数で数値を指定できる。 my $num_oct = 0777; 16進数 0x を先頭につけると16進数で数値を指定できる。 my $num_hex = 0xFFFF; 10進数を2進数、8進数、16進数の出力 2進数、8進数、16進数で出力したい場合は、printf関数でフォーマット指定を行い出力します。%bで2進数、%oで8進数、%xで16進数(小文字)、%Xで16進数(大文字) で出力できます。 # %b で2進数表示で出力 printf("\$num_bin = %b\n", $num_bin); # %o で8進数表示で出力 printf("\$num_oct

    2進数、8進数、16進数での数値表現 - Perl入門〜サンプルコードによるPerl入門〜
  • 演算子 - 2部 Perl言語仕様 - [SMART]

    1.演算子の概要 演算子は、算術演算子に代表されるように、変数やリテラルなどの値に対して演算を行うための記号です。 演算子の中でも有名なのが、加算演算子や減算演算子などの算術演算子です。 Perl の組み込み演算子は、演算の対象となる値、『オペランド』の個数によって単数演算子、二項演算子、三項演算子に分類することができます。また、間値演算子か前置演算子か、数値、文字列、ファイルなど捜査対象によっても分類できます。ただし、これらの分類はプログラミングする上であまり重要ではなく、一つ一つの演算子を理解するためのものです。 用語 オペランド 演算の対象となる値。演算内容をあらわす記号は演算子と呼びます。例えば 10+X という式では、10 と X がオペランドで、+ がオペレータです。 演算子の優先順位 演算子には結合性と優先順位があります。 演算子の一覧 演算子 結合性 解説

    yamadar
    yamadar 2011/04/14
    数値用の演算子でも、文字列を比較することができる。数値として比較する == は、前もって数値に変換してから比較を行う。文字列の比較は厳密に行われ、比較する前に値を文字列に変換するようなことはない。
  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

    yamadar
    yamadar 2011/03/30
    blessはクラスとリファレンスを結びつける。
  • Image::Magick を使って大量画像のサムネイル画像を一括自動生成

    仕事で素材集 CD-ROM 内の画像ファイル全2万点を全てリサイズして欲しいという依頼が来た。自社のコンテンツに使うためのリサイズ作業です。初めは OPTPiX webDesigner のバッチ処理で何も考えず 50 x 40 px にリサイズ。縦横比が違う画像が一杯なので何とも無惨な画像が数時間後にできあがった・・・orz 仕方がないので、PhotoShop のバッチ機能でトリミング〜リサイズ処理をやってみた。どうやら素材集の jpeg の圧縮パラメータが違うようでリサイズ後の保存時にダイアログが開いて圧縮パラメータをどうするかいちいち聞いてくる。OK ボタンを押すだけなのだが、全然バッチになってない・・・orz 仕方がないのでリターンキーを押下状態にしてセロハンテープを貼り付けて帰宅時に放置。今日の朝に完成しているはずだったけど、しっかりと PC がフリーズしてました・・・orz し

    yamadar
    yamadar 2011/03/28
    Image::Magick
  • ImageMagick – PerlMagick, Perl API

    Installation • Overview • Example Script • Read or Write an Image • Manipulate an Image • Set an Image Attribute • Get an Image Attribute • Compare an Image to its Reconstruction • Create an Image Montage • Working with Blobs • Direct-access to Image Pixels • Miscellaneous Methods • Handling Exceptions• Constant PerlMagick is an objected-oriented Perl interface to ImageMagick. Use the module to re

    ImageMagick – PerlMagick, Perl API
    yamadar
    yamadar 2011/03/28
    Image::Magick!
  • perlで変数を削除してメモリを解放・節約(perl)ohanasiya_blog - Blog

    Perlの場合,変数を削除してメモリを解放するには, 次の命令を使用する. <ハッシュ要素・配列要素・リファレンスを削除してメモリを解放> delete [変数]   例:delete $hash{$key};   例:delete $array[$index]; <変数・ハッシュ・配列全体を ...Perlの場合,変数を削除してメモリを解放するには, 次の命令を使用する. <ハッシュ要素・配列要素・リファレンスを削除してメモリを解放> delete [変数]   例:delete $hash{$key};   例:delete $array[$index]; <変数・ハッシュ・配列全体を削除してメモリを解放> undef [変数]   例:undef %hash;   例:undef @array;

    yamadar
    yamadar 2011/03/24
    メモリ解放命令。delete $hash{$key}, delete $array[$index] と undef %hash, undef @array
  • きれいなおねいさんのあつめかた:Bijostagramのはなし。 - TMBのおぼえがき

    Bijostagram(びじょすたぐらむ)というWebサービスを作ってみました。 Bijostagram - Cute Girls on Instagram きれいなおねいさんは、好きですか? Bijostagramとは? Bijostagramは、きれいなおねいさんの画像がたくさん眺められるサービスです(個人的に作りました)。一番の大きな特徴は、Instagramから自動的にきれいなおねいさんの画像を集めてくる、というところです。Bijostagramでは、集めてきたおねいさん画像をランダムに表示しています。 Instagramは写真版Twitterで、しかも撮影した画像をオサレな感じで加工できてツイートできるというサービス。2月末に公式のAPIが公開されたので、いじってみました。→インスタグラムのAPIについてはこちら Bijostagramは、画像抽出と画像配置のアルゴリズムをPer

    きれいなおねいさんのあつめかた:Bijostagramのはなし。 - TMBのおぼえがき
  • perl - 「優れたPerlプログラマを見分ける27の質問」回答例 : 404 Blog Not Found

    2011年03月01日18:00 カテゴリLightweight Languages perl - 「優れたPerlプログラマを見分ける27の質問」回答例 これは良問。 How to Identify a Good Perl Programmer - Modern Perl Books, a Modern Perl Blog 「優れたPerlプログラマを見分ける27の質問」の日語訳 - Islands in the byte stream というわけで回答例。あくまでも解答例。There's more than one way to do it はここでも例外ではないので。 Perl5において変数のシジルが示すものは何か 変数の基型。$scalar、@array、%hash、&code、*typeglob。&codeの&は省略可能かつ省略推奨。これ以外の型はオブジェクトを作ることで作れ

    perl - 「優れたPerlプログラマを見分ける27の質問」回答例 : 404 Blog Not Found
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • blog.nomadscafe.jp

    PHPの勉強会なので、いままでお会いしたことのない方とお話ができてよかったです。 発表内容は大きくなってしまったmaster.phpファイルをどうやって高速に読むかというお話です。PHPではリクエストの終了とともに全てのメモリを捨ててしまうので、変わらないデータもリクエストの度にキャッシュからロードしなくてはいけません。大きなphpファイルがあれば当然毎回の読み込みがオーバーヘッドとなってきます。そんな環境でどうやってアプリケーションのパフォーマンスをあげていったのかを紹介しています。 スライドの中でfile sizeを小さくする必要があると書きましたが、@hnwさんによると、VM命令が多過ぎるのが問題で、構造を簡単にしたことでVM命令が減ったのがよかったのではとのことでした。非常に参考になりました。ありがとうございました そろそろ傷が癒えてきた。。 ISUCON5の選にメルカリのインフ

    yamadar
    yamadar 2011/02/16
    この人すごい
  • Catalyst-Manual-5.9013

    Alastair McGowan-Douglas Alexander Hartmaier Andreas Marienborg Andrew Rodland Andy Grundman antgel Artem Konev Ash Berlin Breno G. de Oliveira Brian Cassidy Caleb Cushing Catalyst Contributors, see Catalyst.pm Dagfinn Ilmari Mannsåker Dan Dascalescu David Schmidt David Steinbrunner Dominic Humphries Eden Cardim Edwin de Graaf Eisenberger Tamás Eric A. Zarko Florian Ragwitz Frederik Schwarzer Gerd

    Catalyst-Manual-5.9013
    yamadar
    yamadar 2011/02/11
    マニュアル
  • 初めてのCatalyst入門(1) PerlによるWebフレームワークCatalystとは?

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    初めてのCatalyst入門(1) PerlによるWebフレームワークCatalystとは?
  • perlの特殊変数を実際に使ってみよう その1【$.】【$/】 - 雑想空間

    戦友id:maroekunと特殊変数について語ったので、この機会に勉強しなおしてみる。 $.とはなんぞや まずは、$. について学びなおしてみる。 意味を知る ファイルから読み込み時の現在の行数 らしい。 ふむふむ やってみる test.txt aa:aa bb:bb cc:cc dd:dd ee:eeperl_tokusyu_hensu_001.pl #!/usr/bin/perl use strict; use warnings; print "\$. test===================\n"; open my $fh, '<', 'test.txt' or die $!; while (<$fh>) { print $.." $_"; } 結果 $. test=================== 1 aa:aa 2 bb:bb 3 cc:cc 4 dd:dd 5 ee:

    perlの特殊変数を実際に使ってみよう その1【$.】【$/】 - 雑想空間
    yamadar
    yamadar 2011/02/07
    ファイルハンドルの$. $/
  • Ryoff.com is for sale | HugeDomains

    Working with hugedomains.com was a quick and easy process. We got to speak to multiple real people located in Colorado without having to wait on hold! Our only complaint was we felt we had to overpay more than this particular domain was worth, and we weren't able to negotiate it down to a level that we felt was fair. However, payment and delivery were seamless, and within a few hours we had all of

    Ryoff.com is for sale | HugeDomains
    yamadar
    yamadar 2011/02/07
    なにこれすごい。
  • Web 上の画像をリサイズする perl-script を書いた

    画像変換手段としては perl なら GD::Image / Image::Magick / Imager / Image::Imlib2 の4つくらいが考えられますが、既にベンチマークした結果がネットで手に入ります。 Webから画像をとってきてリサイズする処理のベンチマーク (Yusukebe::Tech) GD::Image: 16 wallclock secs ( 4.09 usr + 0.16 sys = 4.25 CPU) @ 23.53/s (n=100) Image::Imlib2: 21 wallclock secs ( 0.56 usr + 0.10 sys = 0.66 CPU) @ 151.52/s (n=100) Image::Magick: 27 wallclock secs ( 6.02 usr + 0.63 sys = 6.65 CPU) @ 15.04/s

    yamadar
    yamadar 2011/02/07
    画像リサイズ。Image::Imlib2 を利用。