タグ

Perlとtutorialに関するtest_testerのブックマーク (4)

  • Perlでベンチマーク - みひゃろぐ

    Perl Advent Calendar 2014の枠が空いていたので、ただのメモですが10日目の記事として晒すことに。 今さらかなり基的なことだけど、Perlでのベンチマークの実行方法を調べて、適当にいろいろ試してみたメモ。 Benchmarkモジュール 基的にはperldocを見れば良い。 ゆとりなのでPerldoc.jpにて。 いろいろ関数があるけども、よく使いそうな雰囲気なのは次の2つな気がした。 timethis : 特定のコードの実行速度を測る cmpthese : 複数のコードの実行速度を測りつつ比較する timethis DateTimeは遅いって言われているけど、実際にどれくらい遅いのか試しに測ってみる。 現在の時間を取得して1日足すという処理を例に。 timethisの1つ目の引数は、2つ目の引数の処理を実行する回数を示している。 第2引数には、CodeRefかev

    Perlでベンチマーク - みひゃろぐ
  • Minilla を用いた Perl モジュールの作り方 - tokuhirom's blog

    Minilla を用いた Perl モジュールの作り方 http://shanon-tech.blogspot.jp/2013/05/perl.html Perl モジュールの作り方、2013年においては Authoring tool をつかって作るのがよいです。具体的には Minilla でつくるのがオススメであります。 perlbrew なり plenv なりで perl をいれたあとは、 % cpanm Minilla として Minilla をインストールします。 % minil new Foo とすると、Foo.pm のスケルトンができあがります。作者の名前などは ~/.gitconfig などから自動的にさがしてきますので、設定不要です。 できあがったディレクトリは以下のような形になっています。 Foo ├── Build.PL ├── Changes ├── cpanfile

  • Carp - 呼び出し元の観点で例外を発生させる - Perl入門ゼミ

    Perl › モジュール › here Carpモジュールを使用すると、モジュールの呼び出し元の観点で例外を発生させることができます。 # モジュールの読み込みと関数のインポート use Carp 'croak'; croak関数を使用するとモジュールの呼び出し元の観点で例外を発生させることができます。メッセージの末尾には呼び出し元の行番号が追加されます。 # 呼び出し元の行番号をエラーメッセージに含めて例外を発生させる croak "Exception!"; 例外はdie関数で発生させることができますが、die関数は実行された位置の行番号をメッセージの末尾に追加します。croakはcroakが実行された位置の行番号ではなく、呼び出し元の行番号を末尾に追加する点がdieと異なります。 dieとcroakの使いわけとして、次の点を覚えておきましょう。 Perlスクリプト(*.pl)で例外を発

    Carp - 呼び出し元の観点で例外を発生させる - Perl入門ゼミ
  • Percona Toolkit pt-online-schema-change でサービス無停止スキーマ変更 | 外道父の匠

    テーブルにカラムやインデックスを追加するといった、いわゆるスキーマの変更を行うときは、通常、サービスをメンテナンスに入れてから作業をしなくてはいけません。理由は、ALTER TABLE実行中は共有ロックがかかってしまうため、更新クエリを実行しても即座に完了しなくなるからです。そうすると、アプリからみればおそらく更新クエリを発行するページではHTTPタイムアウトになりますし、参照だけのページでもかなり遅くなることでしょう。 サービスの改良をすると必ずスキーマ変更が必要になりますが、しかしサービスは可能な限り24時間365日提供したいもの。Percona Toolkitの pt-online-schema-change はそんな悩みを払拭し、サービスを停止すること無くスキーマの変更を可能にしてくれます。 概要と仕組み Percona Toolkitは全てPerlスクリプトなので、/usr/bi

    Percona Toolkit pt-online-schema-change でサービス無停止スキーマ変更 | 外道父の匠
  • 1