You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by GitBox <gi...@apache.org> on 2022/02/25 11:53:49 UTC

[GitHub] [ignite-3] sashapolo commented on a change in pull request #684: IGNITE-16453 Try to optimize IgniteLongList

sashapolo commented on a change in pull request #684:
URL: https://github.com/apache/ignite-3/pull/684#discussion_r814707504



##########
File path: modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/tree/BplusTree.java
##########
@@ -4550,10 +4551,10 @@ public long pollFreePage() {
                 return 0L;
             }
 
-            if (freePages.getClass() == IgniteLongList.class) {
-                IgniteLongList list = ((IgniteLongList) freePages);
+            if (freePages.getClass() == LongArrayList.class) {

Review comment:
       why not `instanceOf`? Also, maybe a queue is more suitable here?

##########
File path: modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/reuse/LongListReuseBag.java
##########
@@ -17,13 +17,13 @@
 
 package org.apache.ignite.internal.pagememory.reuse;
 
+import it.unimi.dsi.fastutil.longs.LongArrayList;
 import java.io.Externalizable;
-import org.apache.ignite.internal.util.IgniteLongList;
 
 /**
- * {@link IgniteLongList}-based reuse bag.
+ * {@link LongArrayList}-based reuse bag.
  */
-public final class LongListReuseBag extends IgniteLongList implements ReuseBag {
+public final class LongListReuseBag extends LongArrayList implements ReuseBag {

Review comment:
       Why does this class have to extend `LongArrayList`? Doesn't it make sense to use composition here?

##########
File path: modules/page-memory/src/main/java/org/apache/ignite/internal/pagememory/reuse/LongListReuseBag.java
##########
@@ -17,13 +17,13 @@
 
 package org.apache.ignite.internal.pagememory.reuse;
 
+import it.unimi.dsi.fastutil.longs.LongArrayList;
 import java.io.Externalizable;
-import org.apache.ignite.internal.util.IgniteLongList;
 
 /**
- * {@link IgniteLongList}-based reuse bag.
+ * {@link LongArrayList}-based reuse bag.
  */
-public final class LongListReuseBag extends IgniteLongList implements ReuseBag {
+public final class LongListReuseBag extends LongArrayList implements ReuseBag {

Review comment:
       Also, would it make more sense to use `LongArrayFIFOQueue` here?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org