🐚 🐚 🐚 🐚 シェルスクリプトは遅すぎて使えない 普通の「速い言語」より何百、いや、何千倍も遅い 他のプログラミング言語を経験してからシェルスクリプトに入門し、このような感想を持つ方も多いのではないでしょうか。 実際、こういったことは往々にして起こり得ますので、「速い言語」を使うべきか否か見極めることは大事だと思います。 しかし、本当にシェルスクリプトというのは、そこまで遅いのでしょうか? データ量が多い場合は常に最初から「速い言語」で書いた方がよいのでしょうか? 実は、そうとも限りません。 シェルスクリプトにはシェルスクリプトなりの「速い書き方」があります。 この「速い書き方」で処理できる問題に関しては、シェルスクリプトは「速い言語」なのです。 では、「速い書き方」とは何かというと、端的には「たくさん繰り返されるループはシェルスクリプトで記述しない」ことです。 以下でこれを説明
![シェルスクリプトを何万倍も遅くしないためには —— ループせずフィルタしよう - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/c6bdf650c96c4eca2f8126c524938ce4c03c251e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTIwJUUzJTgyJUI3JUUzJTgyJUE3JUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUFGJUUzJTgzJUFBJUUzJTgzJTk3JUUzJTgzJTg4JUUzJTgyJTkyJUU0JUJEJTk1JUU0JUI4JTg3JUU1JTgwJThEJUUzJTgyJTgyJUU5JTgxJTg1JUUzJTgxJThGJUUzJTgxJTk3JUUzJTgxJUFBJUUzJTgxJTg0JUUzJTgxJTlGJUUzJTgyJTgxJUUzJTgxJUFCJUUzJTgxJUFGJTIwJUUyJTgwJTk0JUUyJTgwJTk0JTIwJUUzJTgzJUFCJUUzJTgzJUJDJUUzJTgzJTk3JUUzJTgxJTlCJUUzJTgxJTlBJUUzJTgzJTk1JUUzJTgyJUEzJUUzJTgzJUFCJUUzJTgyJUJGJUUzJTgxJTk3JUUzJTgyJTg4JUUzJTgxJTg2JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz05Y2M0M2E3YTFmNTNmNTM2NzdhMDRkZDlhNzIxZmZjOA%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwOHg5JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iYjVjOWM4OTQ5Y2FiZjZmNjY3MGQ2ODMzMDA0ZTcxMg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D92387294a92bd6fd62f0910a4d9f3268)