もよいめも

不定期更新ものづくりブログ

Arduino IDEのコンパイル遅すぎだろ!!!

私史上初めてマイコンであるArduinoに出会ってから早や7年程…
本格的なものを作ろうとすると不便なことも多いですが、そんなに大したものも作らないので
いまだにArduino IDEをメインの開発環境の一つとして使用しています。

Arduino IDEはあくまでも初心者向けの側面が強いので、昨日も限られておりいつまでも頼り続けるのは如何なものかと思いつつも、
いつものUIをみると心が和んでしまう自分がいます。

まさに”実家のような安心感”といったところでしょうか。

もちろん、Arduino IDEからの脱却、脱実家をしようと考えていた頃もありましたが、そんな時に発表されたのが「Arduino IDE 2.0」

たとえるならば実家のリフォームといったところですかね?

モダンなUIに進化し機能もめちゃ強化され、ウキウキ気分で、バグだらけの初期betaから現在に至るまで使用してきました。(実は日本語への翻訳に協力してたりする)

そしてついに最近、beta版を脱し、正式版がリリースされました。


めでたい!🎉


そんな期待の新星「Arduino IDE 2.0」ですが、
どうやら無印IDEに比べ、”コンパイルが早くなった”らしいです。

よし!いっちょコンパイルしてみっか〜

コンパイルにかかった時間


ん??

2:30 10

2分30秒!!
Arduino IDEコンパイル遅すぎだろ!!!



ということでですね、私のWindwosでArduino IDEを使用すると、コンパイルに死ぬほど時間がかかる症状が長らくあり、
最近はもっぱらUbuntuコンパイルしてました。
しかし、先日Nano everyを使用したところ、なんと、ubuntu上でドライバが当たらない!!
仕方なくWindwsでコンパイルしてみるもこの酷さです。
(ちなみに、ubuntu上で去年のロボコンのメインプログラムをArduino IDEを使用してコンパイルしても、大体5秒くらいしかかかりません。)

うーむ、どうしたものか、長年放置してきた問題ですが、ちょうど今は時間もあるので重い腰を上げて原因を探ってみました。

原因

スケッチブック内のライブラリーがあまりにもでかすぎることが原因でした☆

改善方法

標準だと
/ドキュメント/Arduino
内にある「/libraries」フォルダの容量をみてみたところ、いつのまにか500MBを超えていました。
数年も開発をしているとライブラリが溜まりまくるのはあるあるかと思いますが、こんな簡単なことでコンパイルが激遅になっていたとは…
言われてみれば、コンパイルボタンを押してから、実際にコンパイルが始まるまでに相当な時間がかかっていたので、その間に大量のライブラリをロードしていたんですかね?

特にM5stackのライブラリーがクソデカだったりしましたが、M5stack(ESP32)はそもそもArduino IDEを使うとまじで時間かかるので、Platform IOに移行しており、Arduino IDEの方は一旦全部削除しました。

ちなみに、改善後のコンパイルにかかる時間は、数秒ほどに短縮されました。