na2hiro / Shogi.js

A simple shogi library for JavaScript / TypeScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ファイルサイズ削減:プリセット盤面の圧縮表現

na2hiro opened this issue · comments

現在minifyされたファイル(14.6kB)の1/3近くがpresetの盤面情報で埋まっている.現在の表現方法は次のようである.

        "HIRATE": {
            board: [
                "-KY-KE-GI-KI-OU-KI-GI-KE-KY",
                " * -HI *  *  *  *  * -KA * ",
                "-FU-FU-FU-FU-FU-FU-FU-FU-FU",
                " *  *  *  *  *  *  *  *  * ",
                " *  *  *  *  *  *  *  *  * ",
                " *  *  *  *  *  *  *  *  * ",
                "+FU+FU+FU+FU+FU+FU+FU+FU+FU",
                " * +KA *  *  *  *  * +HI * ",
                "+KY+KE+GI+KI+OU+KI+GI+KE+KY",
            ],
            turn: Color.Black,
        },

これが香落ち,角落ちなどプリセットの数だけ増えることになる.

差分を使うなどして,うまく圧縮できる表現方法を用いてファイルサイズの削減をしたい.

7d6e4b7webpack-bundle-analyzerによるファイルサイズの解析を導入し, 8557b5f で実際に圧縮を試みた.


bundle-analysis-2 0 0


bundle-analysis-2 0 1

ファイルサイズ自体は3kB減ったが,gzip後のサイズはほぼ変わらなかった.