題:
編譯緩慢
Joris Groosman
2015-02-10 20:03:19 UTC
view on stackexchange narkive permalink

即使是最簡單的程序(例如Blink),其編譯速度也極其緩慢,進度條通常會在半分鐘內掛起一半。

enter image description here

這正常嗎?我了解並非所有計算機的速度都一樣快,但是3秒和30秒之間會有很大的差異

編輯
從報告中可以看出,每次我切換程序它們是完全重新構建的:

構建選項已更改,即使沒有任何更改,也將重新構建所有

。如何避免完全重建?

您是否嘗試過啟用冗長的編譯,以便可以準確地看到正在發生的事情?
@Ignacio:更新了問題
嘗試使用1.5版。 1.6剛剛發布,因此可能存在一些錯誤。
我升級之前的@Gerben:(今天)使用1.0.6,它的行為相同。謝謝你的評論。
運行檢查磁盤,並在驅動器上運行spin rite。您的旋轉磁盤可能出現故障。
@portforwardpodcast:那會讓我感到驚訝。我使用的所有其他軟件均運行平穩。似乎所有這些不必要的重新編譯
嘗試將所有第三方庫和您可以識別為專用庫的任何其他臨時庫臨時移到其他名稱的文件夾中。嘗試重新編譯僅需要標準Arduino的Blink,然後查看其編譯時是否發生了變化。然後,您可以一次將它們移回幾次,直到編譯時間再次跳回-最後添加的組包含一些奇怪的東西。當然,編譯世界比編譯和鏈接一個草圖要花費更多的時間,但是30秒太瘋狂了!順便說一句,您的開發機器是什麼?
六 答案:
Éliette
2015-05-12 15:20:11 UTC
view on stackexchange narkive permalink

我發現這是我的開發機器上的常見問題,但是使用Visual Micro for Visual Studio可以將這段時間減少很多。

我主要將其用於其他Visual Studio功能(如Intellisense) ,重構和解決方案管理。 Visual Micro具有一些引人注目的功能,例如調試工具,但我沒有使用它們。

我還沒有親自嘗試過,但是我希望您可以避免使用Visual Studio中的project / solution選項進行重建-我發現在這種情況下,大多數情況下,編譯時間足夠快,因此無關緊要。

否決票有什麼理由嗎? -Visual Micro的編譯速度始終比Arduino IDE快。與使用其他工具相比,即使是簡單的程序,也需要花費很長時間才能在Arduino IDE中進行最佳編譯。
在vMirco選項下設置選項“高速並行構建”確實可以加快構建速度。正在使用帶有Visual Micro的VS Studio Communiti Edition。
Majenko
2015-07-11 14:24:50 UTC
view on stackexchange narkive permalink

如果發現編譯緩慢,則可以,它可能是重新編譯實際上不需要重新編譯的內容。這一直是Arduino環境的主要失敗,並且是在我的IDE UECIDE中完全重寫整個編譯系統的主要動力之一。

包括非常積極地將已編譯的庫和核心文件緩存為適當的“ .a”文件,這些文件與您的開發板文件分開存儲,並保留到真正需要編譯為止。這樣,您第一次編譯電路板時,可能需要30秒,50秒等時間。同一塊板上的所有後續編譯,即使是不同的草圖(不包括“新”庫的編譯時間),也將在2秒左右,甚至更少。

在運行時,緩存特別重要在非常慢的系統(例如Raspberry Pi)上,如果沒有適當的緩存,則可能需要花費幾分鐘的時間進行編譯,而在隨後的所有編譯過程中,只需花費幾秒鐘的時間。

您打算支持FreeBSD嗎? -UECIDE看起來很有希望。現在,我必須使用Windows運行慢速的VM。想要像此IDE這樣的快照。
IDE本身只是一個Java應用程序。因此,它應該可以在FreeBSD上正常運行。我本人曾經在那裡進行過-甚至為此做了一個港口(在早期)。儘管可能需要一點彎曲,但它仍應運行良好。使用Linux ZIP版本並編輯適合的uecide腳本文件。不過,最困難的部分是使插件正常工作。他們需要本機二進製文件,例如編譯器,程序員等。如果您可以在FreeBSD上找到這些東西,那麼您可能會在使其工作上取得一些成功-否則就沒有成功。
您可以嘗試使用FreeBSD Linux二進制仿真係統而不是Windows VM來與Linux二進製文件一起運行Linux版本的UECIDE。雖然不確定插件系統將如何構成。
聽起來像預期的那樣痛苦:/我將代替UECIDE來獲取我的VM;)
NickB
2017-02-16 22:39:28 UTC
view on stackexchange narkive permalink

直到今天我也遇到了同樣的問題。像網絡上的許多答案一樣,問題似乎出在防病毒上。我的設置是帶有SSD的Windows 10 x64,我將Windows Defender用作AV。不會縮短編譯時間。

我檢查了Arduino IDE中的“ verbose”選項,發現它正在從AppData文件夾中調用編譯器。所以我將此文件夾添加到我的AV排除列表中,並且可以正常工作!

編譯時間提高了十倍。

TLDR; 在Windows 10中,添加將%USERPROFILE%\ AppData \ Local \ Arduino15中的文件夾添加到AV排除列表。

YakovL
2016-02-02 05:29:38 UTC
view on stackexchange narkive permalink

如果您使用ESET(至少一個用戶報告它有所幫助),則該線程 Arduino IDE和ESET:緩慢的編譯可能會有所幫助,但自從我使用以來,它並沒有幫助我m使用Comodo(可能還有其他原因)。

這是自2009年以來關於幫助許多用戶的解決方案的另一個主題 SLOW ARDUINO IDE(有關該論壇的日期為2014年。

這裡還有一些有用的帖子,簡單草圖的令人難以置信的緩慢編譯。好的,我還沒有親自測試所有解決方案,但是讓我在這裡收集有用的鏈接,以便其他人可以找到它們,我也將對其進行檢查。

您好Yakov,歡迎來到SE Arduino。感謝您提供鏈接,我確信它們是有用的。但是,如果可以提供已經測試過並且對_you_有效的答案,那就更好了。如果您從諸如已發布的主題的線程中獲得了對您有用的解決方案,那麼一切都會很好。但是,請避免僅使用谷歌搜索鏈接並將其發佈為答案,而不要先嘗試... :-)
大家好,@Greenonline,,我將在測試這些建議後報告結果。只是問題似乎並不簡單,許多用戶由於不同的原因而遭受痛苦,因此我認為某些對其他人成功的解決方案比對我有幫助的解決方案有用得多。至於問題,我必須進行測試幾件事,包括-IDE每次都會重新編譯整個東西? (這在某些線程中提到,但我不知道如何檢查)-smth consumimg CPU? (在任務管理器中看不到任何內容)-我可以在Comodo中進行配置的任何內容嗎? (HIPS ..似乎允許所有使用)
好的,有一種簡單的方法來了解您的防火牆(HIPS或其他技術)導致問題的天氣:只需將其關閉並嘗試再次編譯即可。就我而言,這並沒有加快編譯速度。有趣的是,有時甚至相反:沒有防火牆編譯似乎總是〜45秒,但是啟用防火牆有時需要17秒。
Nathan
2015-02-10 22:49:08 UTC
view on stackexchange narkive permalink

我將下載非安裝版本,然後嘗試在其中編譯眨眼草圖。這將使您知道這是計算機特定問題還是與您的安裝有關的問題。我遇到了類似的情況,庫在兩個版本之間的更新不正確,導致各種錯誤的行為。

James Waldby - jwpat7
2015-02-11 01:30:59 UTC
view on stackexchange narkive permalink

“構建選項已更改,全部重建”的發生(如已編輯的問題所述,如屏幕截圖所示)可能會導致較大的延遲。我認為(正確與否)是,當出現此消息時,正在重建許多庫。通常,僅應在初次安裝時或更改目標板類型時才重建庫。

一個 arduino.cc線程,“即使沒有任何更改,“構建選項已更改,全部重建”” ==>非常慢”,從2014年開始淺談這個問題,只是指出Arduino 1.5.8 Beta適用於Yún和Arduino Due開發板,而不是“常規Arduino”開發板。

A 2011 Google代碼線程可能基本上無關緊要,但是值得嘗試第14和15條中提到的一些步驟‒例如,如果您的平台是MS Windows,則通過名稱中沒有空格的路徑啟動arduino。如果Arduino IDE找不到其選項或首選項文件,則可能假定它是從頭開始的。

注意,請編輯問題以指定如何啟動Arduino IDE的運行方式(IDE安裝在您的計算機上)系統,您的操作系統是什麼以及您的計算機是什麼。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...