タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

perlに関するtjmtmmnkのブックマーク (5)

  • 第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp

    大きな効果を上げるために チューニンガソン#1~#3の改善率を見ると、アプリケーションや全体のアーキテクチャに手を入れないで改善できるのは最大でも10倍以下です。もちろん数倍速度が違えばサーバ台数を大きく減らせるので有意義なのは間違いないのですが、ISUCONやチューニンガソン#4のような飛躍的な高速化は望めないことがわかります。 つまりチューニングでは、単にパラメータ設定を変更するのみではなく、ボトルネックになっているコードやクエリ、アーキテクチャに的確に手を入れていくことで大きな効果を上げることができるのです。 ボトルネックの発見と解消が大事 システム全体の処理時間についてパレートの法則(経験則)を適用すると、「⁠全体の処理時間の80%は20%の部分で発生している」ということになります。実際にシステム全体で一番ボトルネックになっている部分を解消しないことには、ほかの部分に手を入れても大

    第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp
  • 動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG

    こんにちは!株式会社VOYAGE MARKETINGで働くエンジニアの yopidax です。 約20年ほど続くサービス、ECナビの技術的負債の返済に取り組んでいます。 ecnavi.jp 今回は直近で、レガシーコードを大量に削除したので、そのアプローチをご紹介したいと思います。 目次 目次 解析の対象と抱える課題 アプローチ 実行されるファイルを洗い出す ログを出力するモジュール 実行 ログのサンプル いざ、大量削除 Perlファイルをgrepする リリース単位を細かくする 結果 工数 実績 まとめ 合わせて読みたい 解析の対象と抱える課題 ECナビを長年支える、Perlで書かれたバッチが対象です。コードはGitLabのリポジトリで管理されていて、規模をまとめるとこんな感じです。 ファイルの数 バッチ関連全体 : 3,315 うち、Perlファイル(.pm, .pl) : 1,111 P

    動的解析を利用し、実働6日でレガシーコードを1/3削った話(Perl編) - CARTA TECH BLOG
  • 第40回 Perl開発への動的な型制約の導入(2) | gihyo.jp

    前回の(1)はこちらから。 Mouse::Util::TypeConstraintsで独自の型を定義する (1)で、Mouse::Util::TypeConstraintsを利用して独自に型を定義できると紹介しました。(⁠2)でその方法について解説します。 Mouse::Util::TypeConstraintsは、自分で独自に型を定義するユーティリティを提供してくれるモジュールです。このモジュールはMouseというディストリビューションに含まれているため、Mouseをcpanmでインストールすることで利用できます。cpanmコマンドでインストールし、正しくロードできればインストールは成功しています。 独自の型を定義するユーティリティはいくつもあるため、その中で代表的なものを紹介します。そのほかの方法は、Mouse::Util::TypeConstraintsのドキュメントを参照してくださ

    第40回 Perl開発への動的な型制約の導入(2) | gihyo.jp
  • https://www.toumasu-program.net/entry/2019/03/15/184749

  • 型グロブを理解する 〜アスタリスクは怖くないよ(。・ω・)ノシ〜 - (゚∀゚)o彡 sasata299's blog

    2009年03月28日16:01 Perl 型グロブを理解する 〜アスタリスクは怖くないよ(。・ω・)ノシ〜 先日、tokuhiromさんの LWP::UserAgent::WithCache::Transparent を見ていて、 my $orignew = *LWP::UserAgent::new{CODE}; {CODE}って何だ!?と思ったので調べてみました。結論から言うと、これは型グロブです。まずは型グロブの簡単な説明から。 そもそもperlでは、(グローバルな)変数とか配列とかハッシュとかサブルーチンとかファイルハンドルなんかは全て一つのテーブル(シンボルテーブル)で管理されています。 ※レキシカル変数(my宣言する変数)はシンボルテーブルではなく、別テーブルで管理されています。 例えば、 #!/usr/bin/perl use strict; use warnings; ou

  • 1