From 46aeeb1d5a6fa6e780c746d3e63a4f22ae95a58e Mon Sep 17 00:00:00 2001 From: godotg Date: Sun, 9 Oct 2022 12:16:53 +0800 Subject: [PATCH] ref[lpmap]: move lpmap from orm to protocol --- .../lpmap/ConcurrentFileChannelHeapMap.java | 2 +- .../lpmap/ConcurrentFileChannelMap.java | 2 +- .../collection}/lpmap/ConcurrentHeapMap.java | 2 +- .../collection}/lpmap/FileChannelHeapMap.java | 2 +- .../collection}/lpmap/FileChannelMap.java | 2 +- .../collection}/lpmap/FileHeapMap.java | 2 +- .../protocol/collection}/lpmap/HeapMap.java | 2 +- .../protocol/collection}/lpmap/LpMap.java | 2 +- .../protocol/collection/ConcurrentTest.java | 11 +++---- .../lpmap/ConcurrentFileChannelMapTest.java | 15 +++++----- .../lpmap/ConcurrentHeapMapTest.java | 30 +++++++++++-------- .../collection}/lpmap/FileChannelMapTest.java | 4 +-- .../collection}/lpmap/FileHeapMapTest.java | 4 +-- .../collection}/lpmap/HeapMapTest.java | 4 +-- .../collection}/lpmap/model/MyPacket.java | 2 +- 15 files changed, 46 insertions(+), 40 deletions(-) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/ConcurrentFileChannelHeapMap.java (98%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/ConcurrentFileChannelMap.java (98%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/ConcurrentHeapMap.java (98%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/FileChannelHeapMap.java (97%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/FileChannelMap.java (99%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/FileHeapMap.java (99%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/HeapMap.java (97%) rename {orm/src/main/java/com/zfoo/orm => protocol/src/main/java/com/zfoo/protocol/collection}/lpmap/LpMap.java (97%) rename {orm/src/test/java/com/zfoo/orm => protocol/src/test/java/com/zfoo/protocol/collection}/lpmap/ConcurrentFileChannelMapTest.java (86%) rename {orm/src/test/java/com/zfoo/orm => protocol/src/test/java/com/zfoo/protocol/collection}/lpmap/ConcurrentHeapMapTest.java (71%) rename {orm/src/test/java/com/zfoo/orm => protocol/src/test/java/com/zfoo/protocol/collection}/lpmap/FileChannelMapTest.java (96%) rename {orm/src/test/java/com/zfoo/orm => protocol/src/test/java/com/zfoo/protocol/collection}/lpmap/FileHeapMapTest.java (96%) rename {orm/src/test/java/com/zfoo/orm => protocol/src/test/java/com/zfoo/protocol/collection}/lpmap/HeapMapTest.java (94%) rename {orm/src/test/java/com/zfoo/orm => protocol/src/test/java/com/zfoo/protocol/collection}/lpmap/model/MyPacket.java (97%) diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentFileChannelHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java similarity index 98% rename from orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentFileChannelHeapMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java index 0ef32a8f..db0228cb 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentFileChannelHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelHeapMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentFileChannelMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java similarity index 98% rename from orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentFileChannelMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java index a33dc5bc..37ce0165 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentFileChannelMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java similarity index 98% rename from orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentHeapMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java index 7ee4d65a..66441691 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/ConcurrentHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/FileChannelHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java similarity index 97% rename from orm/src/main/java/com/zfoo/orm/lpmap/FileChannelHeapMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java index 41234daa..9111e21c 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/FileChannelHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelHeapMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/FileChannelMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java similarity index 99% rename from orm/src/main/java/com/zfoo/orm/lpmap/FileChannelMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java index d77b3736..ab281f48 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/FileChannelMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileChannelMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/FileHeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java similarity index 99% rename from orm/src/main/java/com/zfoo/orm/lpmap/FileHeapMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java index ea9469b4..4b7f99a1 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/FileHeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/FileHeapMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; import com.zfoo.protocol.ProtocolManager; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/HeapMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java similarity index 97% rename from orm/src/main/java/com/zfoo/orm/lpmap/HeapMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java index 1a5c9345..ac87a666 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/HeapMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/HeapMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; import io.netty.util.collection.LongObjectHashMap; diff --git a/orm/src/main/java/com/zfoo/orm/lpmap/LpMap.java b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java similarity index 97% rename from orm/src/main/java/com/zfoo/orm/lpmap/LpMap.java rename to protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java index 8f04b201..d3d4de12 100644 --- a/orm/src/main/java/com/zfoo/orm/lpmap/LpMap.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/lpmap/LpMap.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; import com.zfoo.protocol.IPacket; import com.zfoo.protocol.exception.RunException; diff --git a/protocol/src/test/java/com/zfoo/protocol/collection/ConcurrentTest.java b/protocol/src/test/java/com/zfoo/protocol/collection/ConcurrentTest.java index 09d7db03..2b6ba153 100644 --- a/protocol/src/test/java/com/zfoo/protocol/collection/ConcurrentTest.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/ConcurrentTest.java @@ -26,13 +26,14 @@ import java.util.concurrent.CountDownLatch; @Ignore public class ConcurrentTest { + private static final int EXECUTOR_SIZE = Runtime.getRuntime().availableProcessors(); + @Test public void test() throws InterruptedException { var map = new CopyOnWriteHashMapLongObject(); var num = 1_0000; - var executorSize = Runtime.getRuntime().availableProcessors(); - var countDownLatch = new CountDownLatch(executorSize); - for (var i = 0; i < executorSize; i++) { + var countDownLatch = new CountDownLatch(EXECUTOR_SIZE); + for (var i = 0; i < EXECUTOR_SIZE; i++) { new Thread(new Runnable() { @Override public void run() { @@ -46,8 +47,8 @@ public class ConcurrentTest { countDownLatch.await(); Assert.assertEquals(map.size(), num); - var countDownLatch2 = new CountDownLatch(executorSize); - for (var i = 0; i < executorSize; i++) { + var countDownLatch2 = new CountDownLatch(EXECUTOR_SIZE); + for (var i = 0; i < EXECUTOR_SIZE; i++) { new Thread(new Runnable() { @Override public void run() { diff --git a/orm/src/test/java/com/zfoo/orm/lpmap/ConcurrentFileChannelMapTest.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMapTest.java similarity index 86% rename from orm/src/test/java/com/zfoo/orm/lpmap/ConcurrentFileChannelMapTest.java rename to protocol/src/test/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMapTest.java index ee9c6f9e..67c0aead 100644 --- a/orm/src/test/java/com/zfoo/orm/lpmap/ConcurrentFileChannelMapTest.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/ConcurrentFileChannelMapTest.java @@ -10,11 +10,10 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; -import com.zfoo.event.manager.EventBus; -import com.zfoo.orm.lpmap.model.MyPacket; import com.zfoo.protocol.ProtocolManager; +import com.zfoo.protocol.collection.lpmap.model.MyPacket; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -31,6 +30,8 @@ import java.util.concurrent.atomic.AtomicInteger; @Ignore public class ConcurrentFileChannelMapTest { + private static final int EXECUTOR_SIZE = Runtime.getRuntime().availableProcessors(); + @Test public void benchmarkTest() throws IOException, InterruptedException { ProtocolManager.initProtocol(Set.of(MyPacket.class)); @@ -39,9 +40,9 @@ public class ConcurrentFileChannelMapTest { var atomicInt = new AtomicInteger(0); var count = 1000_0000; - var countdown = new CountDownLatch(EventBus.EXECUTORS_SIZE); - for (int i = 0; i < EventBus.EXECUTORS_SIZE; i++) { - EventBus.asyncExecute(new Runnable() { + var countdown = new CountDownLatch(EXECUTOR_SIZE); + for (int i = 0; i < EXECUTOR_SIZE; i++) { + new Thread(new Runnable() { @Override public void run() { var key = atomicInt.getAndIncrement(); @@ -52,7 +53,7 @@ public class ConcurrentFileChannelMapTest { } countdown.countDown(); } - }); + }).start(); } countdown.await(); for (var i = 0; i < count; i++) { diff --git a/orm/src/test/java/com/zfoo/orm/lpmap/ConcurrentHeapMapTest.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMapTest.java similarity index 71% rename from orm/src/test/java/com/zfoo/orm/lpmap/ConcurrentHeapMapTest.java rename to protocol/src/test/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMapTest.java index 69c45ed2..e690dfba 100644 --- a/orm/src/test/java/com/zfoo/orm/lpmap/ConcurrentHeapMapTest.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/ConcurrentHeapMapTest.java @@ -10,10 +10,9 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; -import com.zfoo.event.manager.EventBus; -import com.zfoo.orm.lpmap.model.MyPacket; +import com.zfoo.protocol.collection.lpmap.model.MyPacket; import com.zfoo.protocol.ProtocolManager; import org.junit.Assert; import org.junit.Ignore; @@ -31,6 +30,8 @@ import java.util.concurrent.atomic.AtomicInteger; @Ignore public class ConcurrentHeapMapTest { + private static final int EXECUTOR_SIZE = Runtime.getRuntime().availableProcessors(); + @Test public void putIfAbsentTest() { ProtocolManager.initProtocol(Set.of(MyPacket.class)); @@ -56,17 +57,20 @@ public class ConcurrentHeapMapTest { var atomicInt = new AtomicInteger(0); var count = 1000_0000; - var countdown = new CountDownLatch(EventBus.EXECUTORS_SIZE); - for (int i = 0; i < EventBus.EXECUTORS_SIZE; i++) { - EventBus.asyncExecute(() -> { - var key = atomicInt.getAndIncrement(); - while (key < count) { - var myPacket = MyPacket.valueOf(key, String.valueOf(key)); - map.put(key, myPacket); - key = atomicInt.getAndIncrement(); + var countdown = new CountDownLatch(EXECUTOR_SIZE); + for (int i = 0; i < EXECUTOR_SIZE; i++) { + new Thread(new Runnable() { + @Override + public void run() { + var key = atomicInt.getAndIncrement(); + while (key < count) { + var myPacket = MyPacket.valueOf(key, String.valueOf(key)); + map.put(key, myPacket); + key = atomicInt.getAndIncrement(); + } + countdown.countDown(); } - countdown.countDown(); - }); + }).start(); } countdown.await(); for (var i = 0; i < count; i++) { diff --git a/orm/src/test/java/com/zfoo/orm/lpmap/FileChannelMapTest.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/FileChannelMapTest.java similarity index 96% rename from orm/src/test/java/com/zfoo/orm/lpmap/FileChannelMapTest.java rename to protocol/src/test/java/com/zfoo/protocol/collection/lpmap/FileChannelMapTest.java index 810bbb4f..d93f6b0a 100644 --- a/orm/src/test/java/com/zfoo/orm/lpmap/FileChannelMapTest.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/FileChannelMapTest.java @@ -10,9 +10,9 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; -import com.zfoo.orm.lpmap.model.MyPacket; +import com.zfoo.protocol.collection.lpmap.model.MyPacket; import com.zfoo.protocol.ProtocolManager; import org.junit.Assert; import org.junit.Ignore; diff --git a/orm/src/test/java/com/zfoo/orm/lpmap/FileHeapMapTest.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/FileHeapMapTest.java similarity index 96% rename from orm/src/test/java/com/zfoo/orm/lpmap/FileHeapMapTest.java rename to protocol/src/test/java/com/zfoo/protocol/collection/lpmap/FileHeapMapTest.java index 03a5752e..d9d309a4 100644 --- a/orm/src/test/java/com/zfoo/orm/lpmap/FileHeapMapTest.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/FileHeapMapTest.java @@ -10,9 +10,9 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; -import com.zfoo.orm.lpmap.model.MyPacket; +import com.zfoo.protocol.collection.lpmap.model.MyPacket; import com.zfoo.protocol.ProtocolManager; import org.junit.Assert; import org.junit.Ignore; diff --git a/orm/src/test/java/com/zfoo/orm/lpmap/HeapMapTest.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/HeapMapTest.java similarity index 94% rename from orm/src/test/java/com/zfoo/orm/lpmap/HeapMapTest.java rename to protocol/src/test/java/com/zfoo/protocol/collection/lpmap/HeapMapTest.java index 3ab52bc1..15cdfcaf 100644 --- a/orm/src/test/java/com/zfoo/orm/lpmap/HeapMapTest.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/HeapMapTest.java @@ -10,9 +10,9 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap; +package com.zfoo.protocol.collection.lpmap; -import com.zfoo.orm.lpmap.model.MyPacket; +import com.zfoo.protocol.collection.lpmap.model.MyPacket; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; diff --git a/orm/src/test/java/com/zfoo/orm/lpmap/model/MyPacket.java b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java similarity index 97% rename from orm/src/test/java/com/zfoo/orm/lpmap/model/MyPacket.java rename to protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java index 65b5494d..b744848c 100644 --- a/orm/src/test/java/com/zfoo/orm/lpmap/model/MyPacket.java +++ b/protocol/src/test/java/com/zfoo/protocol/collection/lpmap/model/MyPacket.java @@ -10,7 +10,7 @@ * See the License for the specific language governing permissions and limitations under the License. */ -package com.zfoo.orm.lpmap.model; +package com.zfoo.protocol.collection.lpmap.model; import com.zfoo.protocol.IPacket;