RFR: 8253179: Replace LinkedList Impl in net.http.Http2Connection [v2]
Conor Cleary
ccleary at openjdk.java.net
Fri Oct 2 08:41:56 UTC 2020
> This patch replaces a LinkedList data structure used in the net.http.Http2Connection class with an ArrayList. This
> issue relates to [JDK-8246048: Replace LinkedList with ArrayLists in
> java.net](https://bugs.openjdk.java.net/browse/JDK-8246048). Some justifications for this change are as follows:
>
> - Sequential Access Times for ArrayLists are improved due to locality of reference (i.e ArrayList elements stored in same
> memory neighborhood)
> - Get(index) operations are O(1) time complexity for ArrayLists as opposed to worst-case O(N-1) for LinkedLists
> - While insertion operations can be expensive (O(N) in the worst case), these operations appear to be
> infrequent/non-existent in this case.
>
> Additional justifications or challenges to those listed are welcome! The general idea is that ArrayLists out-perform
> LinkedLists in this scenario.
Conor Cleary has updated the pull request incrementally with one additional commit since the last revision:
8253179: Removed ArrayList copy of streams
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/431/files
- new: https://git.openjdk.java.net/jdk/pull/431/files/9ecb85ea..fc3f574d
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=431&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=431&range=00-01
Stats: 5 lines in 1 file changed: 1 ins; 2 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/431.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/431/head:pull/431
PR: https://git.openjdk.java.net/jdk/pull/431
More information about the net-dev
mailing list