Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

实验目标

...

  1. 测试不同数据结构的内存占用情况

...

  1. 测试不同读写比下不同数据结构的读写性能

...

实验环境

...

  • OS: mac OS

...

  • memory:8G

...

  • CPU:双核 2.7 GHz Intel Core i5

...

  • java version: 1.8.074

...

内存占用

...

单序列一百万个点

Array: 4MB

SkipList:52MB (Integer:16MB, SkipListNode:36MB)

...

十万序列每序列十个点

SkipList:59.6 MB (SkipList: 58MB, ref: 1.6MB)

Array: 5.6MB (data: 4MB, ref: 1.6MB)

...

单线程写入+查询

...

单序列一千万个点

...

写入

Array:360ms

SkipList:8921ms

...

查询

Array:449ms

SkipList:76ms

...

十万序列每序列一百个点

...

写入

Array:429ms

SkipList:10129ms

...

查询

Array:449ms

SkipList:76ms

...

并发写入+查询

...

测试方法

单线程写入,同时匹配n个线程查询,测试在有查询的负载下,写入线程最终完成写入的总时间

...

单序列一千万个点

...

n = 1

Array:528ms

SkipList: 12413ms

...

n = 3

Array:702ms

SkipList: 14202ms

...

n = 5

Array:1131ms

SkipList: 16304ms

...

十万序列每序列一百个点

...

n = 1

Array:1056ms

SkipList:10243ms

...

n = 3

Array:1539ms

SkipList:11620ms

...

n = 5

Array:2064ms

SkipList:13714ms