From 210e1d2bd8bba3edccb712b38d18dfbf5401e4a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ha=CC=8Avard=20Ottestad?= Date: Sun, 19 Jan 2025 16:19:50 +0100 Subject: [PATCH] ca. 1 950 000 triples per second --- .../qendpoint/core/iterator/utils/AsyncIteratorFetcher.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qendpoint-core/src/main/java/com/the_qa_company/qendpoint/core/iterator/utils/AsyncIteratorFetcher.java b/qendpoint-core/src/main/java/com/the_qa_company/qendpoint/core/iterator/utils/AsyncIteratorFetcher.java index d0ddca28..4696c3cb 100644 --- a/qendpoint-core/src/main/java/com/the_qa_company/qendpoint/core/iterator/utils/AsyncIteratorFetcher.java +++ b/qendpoint-core/src/main/java/com/the_qa_company/qendpoint/core/iterator/utils/AsyncIteratorFetcher.java @@ -14,6 +14,7 @@ * @author Antoine Willerval */ public class AsyncIteratorFetcher implements Supplier { + public static final int BUFFER = 1024; private final Iterator iterator; private final Lock lock = new ReentrantLock(); private boolean end; @@ -28,6 +29,7 @@ public AsyncIteratorFetcher(Iterator iterator) { */ @Override public E get() { + E poll = queue.poll(); if (poll != null) { @@ -40,9 +42,9 @@ public E get() { if (iterator.hasNext()) { poll = iterator.next(); } - ArrayList objects = new ArrayList<>(128); + ArrayList objects = new ArrayList<>(BUFFER); - for (int i = 0; i < 128 && iterator.hasNext(); i++) { + for (int i = 0; i < BUFFER && iterator.hasNext(); i++) { objects.add(iterator.next()); }