2013-08-23 17 views
1

首先,對不起我的英文不好,但我需要你的幫助。美國醫學協會矩陣表現

我用java swing開發了一個模擬程序,我用了很多矩陣計算。我的節目剛剛完成,但我需要加快我的表現。所以我使用了java visual vm profiler來識別性能問題。我意識到Jama Matrices的初始化需要很多時間。在運行我的程序之後,我有超過3 MB的由JAMA分配的對象。這很多,不是嗎?我認爲這就是表現糟糕的原因。

對矩陣有沒有比jama更好的庫?我正在使用3x3矩陣,我需要乘法和逆運算,或者我還能做什麼?

+0

@blueArrow請看[this SO question](http://stackoverflow.com/questions/529457/performance-of-java-matrix-math-libraries?rq=1) –

+0

@hexafraction你對你的意思是什麼題?我使用JAMA圖書館。 – blueArrow

+0

@AlexeyOdintsov我看到了這個問題,但它迄今爲止沒有幫助我。 – blueArrow

回答

1

通常矩陣數學庫沒有針對小矩陣的速度進行優化。 你可以看看自己的幾個stackshots,它們很可能在內存分配和選項檢查等開銷函數中顯示很大一部分時間。

你可以做什麼而不是我所做的是編寫特殊用途的例程來做乘法和反例,因爲你知道矩陣是3x3。乘法是微不足道的,你可以展開整個事情。一個3x3矩陣的

反向也可以在更少的代碼做的比咖啡:) Wikipedia gives you the formula.

不管你做什麼,儘量減少內存分配。