ホーム » コンピュータ » Linux » Debian » スクリプト言語の比較

システム

最近の投稿

アーカイブ

カテゴリー

スクリプト言語の比較

Raspberry Pi で、自宅内の温湿度管理とか色々やっていて、shell や perl や python などのスクリプトを使っているけど、ただでさえ遅い Raspberry-Pi だし、少しでも軽く動いてほしくて、lua なども使っている。

でも、shell だと、bash で書いているけど、高機能な分だけ遅いし、少しでも軽くなればと、インストールされているスクリプト言語のサイズを改めて比較をしてみた。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ ls -al <いろいろ>
-rwxr-xr-x 1 root root 14000 12 2021 /usr/bin/lua50
-rwxr-xr-x 1 root root 91904 1210 2020 /bin/dash
-rwxr-xr-x 1 root root 92292 1222 2018 /bin/sed
-rwxr-xr-x 1 root root 120704 217 2020 /usr/bin/mawk
-rwxr-xr-x 1 root root 133048 81 2016 /usr/bin/lua5.1
-rwxr-xr-x 1 root root 974312 328 2022 /bin/bash
-rwxr-xr-x 2 root root 3201036 925 2021 /usr/bin/perl5.32.1
-rwxr-xr-x 1 root root 4703672 312 2021 /usr/bin/python3.9
$ ls -al <いろいろ> -rwxr-xr-x 1 root root 14000 1月 2 2021 /usr/bin/lua50 -rwxr-xr-x 1 root root 91904 12月 10 2020 /bin/dash -rwxr-xr-x 1 root root 92292 12月 22 2018 /bin/sed -rwxr-xr-x 1 root root 120704 2月 17 2020 /usr/bin/mawk -rwxr-xr-x 1 root root 133048 8月 1 2016 /usr/bin/lua5.1 -rwxr-xr-x 1 root root 974312 3月 28 2022 /bin/bash -rwxr-xr-x 2 root root 3201036 9月 25 2021 /usr/bin/perl5.32.1 -rwxr-xr-x 1 root root 4703672 3月 12 2021 /usr/bin/python3.9
$ ls -al <いろいろ>
-rwxr-xr-x 1 root root   14000  1月  2  2021 /usr/bin/lua50
-rwxr-xr-x 1 root root   91904 12月 10  2020 /bin/dash
-rwxr-xr-x 1 root root   92292 12月 22  2018 /bin/sed 
-rwxr-xr-x 1 root root  120704  2月 17  2020 /usr/bin/mawk
-rwxr-xr-x 1 root root  133048  8月  1  2016 /usr/bin/lua5.1
-rwxr-xr-x 1 root root  974312  3月 28  2022 /bin/bash
-rwxr-xr-x 2 root root 3201036  9月 25  2021 /usr/bin/perl5.32.1
-rwxr-xr-x 1 root root 4703672  3月 12  2021 /usr/bin/python3.9

個人的には、軽いスクリプトというと、sed < awk < lua < bash < perl < python というイメージで使い分けをしていた。

しかし、これを見ると、bash と dash で10倍の差、軽くなればと使っていた lua だけど、lua5.1 と lua50 でも 10 倍の差がある。perl だと bash の 3倍、python だと bash の5倍。バイナリのサイズが単純に処理速度に反映される訳ではないけど、これを見る限り、自分で書いている手抜きスクリプトであれば、dash や lua50 で動かした方がよさそうだな。

また、下手に Perl を使うぐらいなら、bash の中で sed や awk を交えながらスクリプトを書くことも多いけど、下手に bash の中で sed や awk をガシガシ使ったら、あんまり早くなさそうだな。

これからは、lua50 < dash < sed , awk < bash < perl < python かな。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト