java warning 编译_关于性能:Java编译器警告会影响编译时间吗?
我有一個(gè)帶有數(shù)千個(gè)編譯器警告的原始項(xiàng)目(原始類(lèi)型,不必要的@SuppressWarnings,未使用的導(dǎo)入等)-該項(xiàng)目包含約5000個(gè)Java源文件。 這些警告是否可能對(duì)編譯時(shí)間有重大影響?
請(qǐng)注意:我很清楚,僅僅為了提高性能而放棄編譯器警告并不是這樣做的好理由。 我很想擺脫警告,使添加新代碼,減少潛在的錯(cuò)誤等變得更加容易。但是在這種情況下,我要問(wèn)的是,如果存在大量警告,編譯過(guò)程是否需要更長(zhǎng)的時(shí)間。
為什么在您的情況下需要編譯時(shí)間?
編譯時(shí)間長(zhǎng)得無(wú)法接受嗎?如果您修復(fù)其中的一些,它會(huì)減少嗎?
從邏輯上講,如果編譯是基于注釋進(jìn)行優(yōu)化的,那將有所不同。如果編譯代碼基于注釋過(guò)濾警告,即找到所有警告并忽略帶有注釋的警告,則不會(huì)有很大的不同。
@AndyTurner是的,編譯時(shí)間太長(zhǎng)(在60s左右),這是無(wú)法接受的。很難衡量這種改進(jìn),因?yàn)槲抑荒茏詣?dòng)修復(fù)未使用的進(jìn)口,而其他一些則需要在警告的基礎(chǔ)上進(jìn)行修復(fù),這非常繁瑣。我一直希望對(duì)它是否值得追求有一個(gè)明確的肯定/否定。
@QmunkE怎樣生成5000個(gè)隨機(jī)類(lèi)而沒(méi)有任何編譯器錯(cuò)誤(以及類(lèi)似的相互依賴(lài)性),并查看編譯時(shí)間是否相似。
與可維護(hù)性成本相比,這無(wú)關(guān)緊要。如果計(jì)算機(jī)保持涼爽以使其保持最高速度,則它運(yùn)行速度會(huì)更快。即機(jī)器的溫度可能更重要。
沒(méi)有; 不明顯。 解決編譯器警告的價(jià)值在于減少項(xiàng)目維護(hù)時(shí)間,即減少程序員的時(shí)間,而不是減少編譯所花費(fèi)的時(shí)間。 通過(guò)解決這些警告,您將對(duì)發(fā)生的事情有更清晰的了解,而不會(huì)迷失在警告的海洋中...
我知道確實(shí)是這種情況,但這并不能回答我的問(wèn)題。目前,我正在嘗試以我能做的任何方式來(lái)改善構(gòu)建時(shí)間(它的速度慢得令人無(wú)法接受,任何增量的改進(jìn)都會(huì)導(dǎo)致開(kāi)發(fā)過(guò)程中生活質(zhì)量的提高)
@QmunkE-如果您的構(gòu)建時(shí)間過(guò)長(zhǎng),并且您詢(xún)問(wèn)解決警告是否可以解決該問(wèn)題,則答案為"否"。修復(fù)警告可能會(huì)稍微縮短您的構(gòu)建時(shí)間,但是長(zhǎng)構(gòu)建時(shí)間背后的實(shí)際問(wèn)題仍然存在。我的回答只是反映了這種誤解。您可以考慮在構(gòu)建時(shí)間上尋求幫助,而不是這個(gè)關(guān)于警告的狹question問(wèn)題...
我知道還有很多其他更有效的方法可以縮短構(gòu)建時(shí)間-這是一個(gè)問(wèn)題,即是否會(huì)產(chǎn)生任何影響-如果答案為"否",則其為"否",但您的答案無(wú)濟(jì)于事-它沒(méi)有回答這個(gè)問(wèn)題。從維護(hù)的角度來(lái)看,我很清楚為什么擁有數(shù)千個(gè)編譯器警告會(huì)很糟糕。
病態(tài)改寫(xiě),使其更易于理解,@ QmunkE。
它不是要被理解,而是從字面上詢(xún)問(wèn)是否在代碼中包含警告與否是否對(duì)編譯時(shí)間有可衡量的影響。我不在乎減少警告的數(shù)量是否有其他好處(我已經(jīng)知道這一點(diǎn)),或者是否還有其他更好的方法來(lái)改善編譯時(shí)間(我也知道這一點(diǎn))。
Are these warnings likely to have any significant impact on the
compile time?
沒(méi)有。
在對(duì)Jans答案的評(píng)論中,您寫(xiě)了
it's literally asking whether there is a measurable impact on
compilation time if your code contains warnings vs whether it doesn't
是的,會(huì)產(chǎn)生可衡量的影響,但影響可能很小。 此評(píng)論使我認(rèn)為您在問(wèn)兩個(gè)不同的問(wèn)題?
揚(yáng)斯的回答,至少對(duì)我來(lái)說(shuō)是絕對(duì)正確的。
Jans的回答肯定是正確的。但這原本根本不是一個(gè)有用的答案-它解決了擺脫警告的另一個(gè)原因(這通常更重要,對(duì)我而言只是無(wú)濟(jì)于事)。我的問(wèn)題的關(guān)鍵是:"這些警告是否可能對(duì)編譯時(shí)間產(chǎn)生重大影響?" -我只想知道。不知道為什么這么難理解。
總結(jié)
以上是生活随笔為你收集整理的java warning 编译_关于性能:Java编译器警告会影响编译时间吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手提电脑鼠标怎么用 手提电脑如何使用鼠标
- 下一篇: java美元兑换,(Java实现) 美元