elixir基准测试记录

elixir基准测试

代码见elixir_basic_benchmark

测试变量

Operating System: Linux"
CPU Information: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
Number of Available Cores: 8
Available memory: 11.70 GB
Elixir 1.7.3
Erlang 21.0

总表

操作 耗时
100w process dict get/put/delete 0.03μs
100w ets set/bag/duplicate_bag read 0.1μs
100w ets ordered_set read 0.3μs
spawn 进程 2μs

ets

100w条数据的ets表. 100次读取耗时如下.

Name                                                 ips        average  deviation         median         99th %
ets_bag_without_read_concurrency                 75.57 K       13.23 μs   ±106.18%          12 μs          47 μs
ets_set_without_read_concurrency                 75.45 K       13.25 μs   ±125.17%          11 μs          55 μs
ets_duplicate_bag_without_read_concurrency       68.65 K       14.57 μs   ±134.46%          12 μs          66 μs
ets_duplicate_bag_with_read_concurrency          61.99 K       16.13 μs    ±93.12%          14 μs          54 μs
ets_bag_with_read_concurrency                    61.13 K       16.36 μs    ±96.35%          15 μs          54 μs
ets_set_with_read_concurrency                    58.37 K       17.13 μs   ±114.66%          14 μs          65 μs
ets_ordered_set_without_read_concurrency         24.44 K       40.92 μs    ±83.32%          32 μs         162 μs
ets_ordered_set_with_read_concurrency            23.70 K       42.20 μs    ±59.90%          35 μs         129 μs

100w条数据的ets表. 4进程100次并发读取耗时如下.

Name                                                 ips        average  deviation         median         99th %
ets_set_with_read_concurrency                    50.08 K       19.97 μs   ±218.08%          19 μs          58 μs
ets_duplicate_bag_with_read_concurrency          48.09 K       20.79 μs    ±88.09%          20 μs          64 μs
ets_bag_with_read_concurrency                    46.98 K       21.29 μs    ±68.07%          20 μs          63 μs
ets_set_without_read_concurrency                 32.66 K       30.61 μs    ±41.88%          28 μs          68 μs
ets_bag_without_read_concurrency                 31.29 K       31.96 μs    ±45.26%          28 μs          72 μs
ets_duplicate_bag_without_read_concurrency       31.27 K       31.98 μs    ±44.26%          29 μs          72 μs
ets_ordered_set_without_read_concurrency         16.90 K       59.18 μs    ±35.78%          53 μs         120 μs
ets_ordered_set_with_read_concurrency            16.73 K       59.77 μs    ±39.17%          61 μs         124 μs

spawn process

创建100个进程耗时如下.

Name            ips        average  deviation         median         99th %
spawn        5.40 K      185.15 μs    ±43.21%         205 μs         350 μs

process dict get/put/delete

100w条数据的process dict, 1000次get/delete/put/put and delete耗时如下.

Name                          ips        average  deviation         median         99th %
test get                  33.02 K       30.28 μs    ±42.62%          28 μs          70 μs
test delete               30.16 K       33.15 μs    ±40.02%          31 μs          77 μs
test put                  25.07 K       39.89 μs    ±24.66%          37 μs          86 μs
test put and delete       17.45 K       57.32 μs    ±21.14%          54 μs         108 μs

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理