回答
您可以使用一些分析器。許多IDE(如Netbeans)都有。
如何在eclipse中執行? –
有一種溶劑:http://stackoverflow.com/questions/2713940/eclipse-java-profiler我沒有使用eclipse。但是測量系統時間可能會給你帶來不好的結果。根據您的過程可以暫停。您的流程需要時間。 – Achiles
是的,我需要爲我的月蝕運行一個探查器。我有最新版的eclipse。 –
如果可以使其具有實用性或理論性。如果可行,那麼在算法開始之前放置一個計時器,並在結束時停止計時器。如果理論上使用Big O notation(並不那麼難),你會得到它的時間或空間複雜度的估計。
long reference=System.nanoTime();
your_funct();
long finishm=System.nanoTime();
System.out.println(((double)(finishm-reference))/1000000000.0); //in seconds
在我的機器上有〜0.003秒的有意義的水平。我的意思是,你測量納秒,但最小的步驟是在我的機器大約3000000納秒。
這在實踐中真的很糟糕 - 例如它不允許JIT編譯器運行。這很難做到這一點,特別是對於Java。請參閱http://www.azulsystems.com/presentations/art-of-java-benchmarking。 –
如果您可以實時從控制檯打印耗時的計算序列的結果時間,您可以在真實世界中看到 –
你要求表現某種時機的表現。但是,你會比較什麼?
測量算法的一般方法是使用Big O,它採用簡化的數學方法。
爲了解釋這個問題,在一個非常基本的層次上,一個簡單的線性搜索整數列表有一個線性(n)最壞的情況大o。例如: for(int i = 0; i < sizeofarray; ++ i) if(array [i] == to_find) return i;
在最壞的情況下,這需要i次迭代(通常數字在大o中被稱爲n) - 所以我們稱之爲n或線性複雜度算法。
Something like a bubblesort算法是一個循環內的循環,所以我們有n * n複雜度= n^2或二次複雜度。
與like相比,如果我們只考慮排序,quicksort比二次複雜性更有效率(它是n log n複雜度),所以您可以考慮quicksort比bubblesort更好。
因此,當評估你的算法考慮它在n方面。有循環嗎?多少?越少越好。沒有更好的循環 - 恆定的大o。
- 1. 測量分類算法的性能
- 2. 測量Java程序性能
- 3. 如何測量Java程序的性能?
- 4. 如何測量i7上的java性能?
- 5. 測量Java應用程序的性能
- 6. 性能測量
- 7. 測試Java方法的性能
- 8. Java:低延遲性能測量
- 9. 的Java:性能SQRT計算
- 10. 測量Apache性能
- 11. XCode性能測量
- 12. 測量JavaScript性能
- 13. TIBCO性能測量
- 14. Heroku性能測量
- 15. PHP性能測量
- 16. 有效的性能測量
- 17. 測量控件的性能
- 18. 測量網站的性能
- 19. Dalvik的測量性能
- 20. Android上的性能測量
- 21. VoltDB RDBMS的性能測量
- 22. 豬的性能測量
- 23. 用3個常量計算可能性的算法?
- 24. 哪種方法可以測量Java中運行時方法的性能速度
- 25. 算法的性能C#
- 26. 測量ASP.NET性能的增量
- 27. 雲高性能計算的可靠時間測量
- 28. Lisp:測量功能的性能
- 29. 三角測量算法
- 30. 可取消測量算法
你想測量什麼?時間複雜性? –
您可能會發現[Caliper](http://code.google.com/p/caliper/)有用。 –
yea..time taken –