Alex D Herbert created RNG-114:
----------------------------------
Summary: Improve ListSampler shuffle algorithm to detect instances
of RandomAccess
Key: RNG-114
URL: https://issues.apache.org/jira/browse/RNG-114
Project: Commons RNG
Issue Type: Improvement
Components: sampling
Affects Versions: 1.2
Reporter: Alex D Herbert
Assignee: Alex D Herbert
The ListSampler shuffle algorithm uses the input list {{set(index)}} method. If
this runs in constant time then the algorithm is fast. If the list is not an
instance of {{java.util.RandomAccess}} such as a LinkedList the algorithm will
suffer from performance slowdown for large lists.
This is handled in the JDK Collections.shuffle method by detecting if the list
is not an instance of RandomAccess. If so the list {{set(index)}} method is
avoided and the list is traversed for update using its iterator.
Tasks:
* Benchmark the ListSampler method verses Collections.shuffle with ArrayList
and LinkedList
* Update the ListSampler to have comparable performance to Collections.shuffle
--
This message was sent by Atlassian Jira
(v8.3.2#803003)