reverted sort method
This commit is contained in:
parent
3433dd0f54
commit
6f61ab64a7
@ -370,19 +370,18 @@ public class TenantRepo {
|
||||
// Collections.reverse(result);
|
||||
// result = result.subList(offset, requiredSize);
|
||||
// IMPLEMENTATION THAT IS BASED ON TREE SET (For offset + query.getPageSize() << totalSize)
|
||||
// var requiredSize = Math.min(offset + query.getPageSize(), totalSize);
|
||||
// TreeSet<SortableEntityData> topNSet = new TreeSet<>(comparator);
|
||||
// for (SortableEntityData sp : data) {
|
||||
// topNSet.add(sp);
|
||||
// if (topNSet.size() > requiredSize) {
|
||||
// topNSet.pollLast();
|
||||
// }
|
||||
// }
|
||||
// var result = topNSet.stream().skip(offset).limit(query.getPageSize()).collect(Collectors.toList());
|
||||
// IMPLEMENTATION THAT IS BASED ON TIM SORT (For offset + query.getPageSize() > totalSize / 2)
|
||||
var requiredSize = Math.min(offset + query.getPageSize(), totalSize);
|
||||
data.sort(comparator);
|
||||
var result = data.subList(offset, requiredSize);
|
||||
TreeSet<SortableEntityData> topNSet = new TreeSet<>(comparator);
|
||||
for (SortableEntityData sp : data) {
|
||||
topNSet.add(sp);
|
||||
if (topNSet.size() > requiredSize) {
|
||||
topNSet.pollLast();
|
||||
}
|
||||
}
|
||||
var result = topNSet.stream().skip(offset).limit(query.getPageSize()).collect(Collectors.toList());
|
||||
// IMPLEMENTATION THAT IS BASED ON TIM SORT (For offset + query.getPageSize() > totalSize / 2)
|
||||
// data.sort(comparator);
|
||||
// var result = data.subList(offset, endIndex);
|
||||
log.trace("EDQ Sorted in {}", TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTs));
|
||||
return new PageData<>(toQueryResult(result, query, ctx), totalPages, totalSize, totalSize > requiredSize);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user