BLOGTIMES
2013/09/07

jar を非圧縮にすると java アプリの起動が速くなるらしい

  tuning  java 
このエントリーをはてなブックマークに追加

非圧縮の jar を使うと java アプリの起動が速くなるというテクニックが興味深かったのでメモ。
言われてみれば解凍の手間が減る分、確かに早くはなりそうですね。

JJBugでJava VMの起動高速化の話をしました - nekopの日記

Japan JBoss User Group - 灼熱の JBossでJava VMの起動高速化の話をしました。非圧縮jarによる高速化はみなさんも使っている有名なソフトウェアで採用されていますが、あまり知られていないチューニングだと思います。大抵の場合200%くらいの高速化ができます。

今度、ちゃんとベンチとってみようと思いますが、とりあえずスライドにあった flatjar という非圧縮 jar をつくるスクリプトだけ動くようにしてみました。

flatjar

#!/bin/bash # Example: $ find . -type f -name \*.jar | xargs -n1 flatjar set -e realpath() { DIRNAME=`dirname $1` PWDPATH=`cd $DIRNAME && pwd` FILEPATH=${PWDPATH}/$1 if [ -e $FILEPATH ]; then echo $FILEPATH else return 1 fi } JARFILE=$(realpath $1) TMPDIR=/tmp/flatjar.tmp echo "Fat $JARFILE" rm -rf $TMPDIR mkdir -p $TMPDIR (cd $TMPDIR; jar xf $JARFILE) if [ -f $TMPDIR/META-INF/MANIFEST.MF ]; then jar c0fm $JARFILE $TMPDIR/META-INF/MANIFEST.MF -C $TMPDIR . else jar c0f $JARFILE -C $TMPDIR . fi rm -rf $TMPDIR

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/6128
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン