[英]LinkedList Custom Implementation Faster than Java LinkedList
[英]Is there any case when a Stack or a Queue implementation with ArrayList gives better, faster performance then a LinkedList implemented in Java?
在這個問題中,我閱讀了以下內容:
如果您執行的操作相對較少,即總共少於 1000 個左右的入隊/出隊,那么數組會更快,因為它在內存中是連續的。
我的問題是:在 Java 中緩存 ArrayList 是如何工作的? 在某些情況下,ArrayList 實現的 Queue 或 Stack 比 Java 中實現的 LinkedList 性能更好嗎?
如果 ArrayList 實現的 Queue 或 Stack 比 Java 中實現的 LinkedList 性能更好?
當隊列幾乎總是空的或只有 1 個元素時,ArrayList 速度更快並且產生的垃圾更少(即沒有)
如果你有一個快速的消費者,它幾乎總是消費生產者生產的東西。 這意味着隊列中通常有 0 或 1 個元素。 在這些條件下 ArrayList 更快,因為它不會創建任何對象或產生垃圾。
順便說一句,ArrayDeque 是更好的選擇,因為即使元素超過 1 個,它也能很好地執行。
在 Java 中緩存 ArrayList 是如何工作的?
CPU 緩存訪問 ArrayList 的方式沒有什么特別之處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.