beecp

与JDK队列PK一下性能,结果有点让人感到意外

女生的网名这么多〃 提交于 2020-07-27 22:42:27
队列类: https://github.com/Chris2018998/BeeCP/blob/master/src/main/java/cn/beecp/util/FastTransferQueue.java 测试机器 CPU: I5-4210M(2.6赫兹,双核4线程) 内存: 8G OS: win7_64 JDK: Java1.8.0_65-b17 BeeCP版本:2.4.9 测试1:数据包传递测试( 数据包起飞计时开始,到达计时结束 ) 1:创建1000个消费线程,并执行Poll(Long.MAX_VALUE,TimeUnit.SECONDS);//处于阻塞状态 2:让主控线程延迟5秒,保证1000个消费线程处于处于阻塞状态 3:创建10个生产者线程,不停往队列中写数据(数据包传递时开始计时,单位:纳秒) 4:1000个消费者都消费一次(读取一个数据包) 5:统计1000个数据包的 飞行时间 之和,并计算每次平均时间,随机抽取一次结果如下 测试类: https://github.com/Chris2018998/BeeCP/blob/master/src/test/java/cn/beecp/test/queue/QueueTransferTest.java 测试2:队列读写测试 创建1000个线程,每个线程并往队列中写(offer)10000次和读10000次(poll)