$ mkdir work
$ cd work
$ curl -O http://jsonstudio.com/wp-content/uploads/2014/02/companies.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14.7M 100 14.7M 0 0 2610k 0 0:00:05 0:00:05 --:--:-- 3428k
$ unzip companies.zip
Archive: companies.zip
inflating: companies.json
$ for i in {1..14}; do cat companies.json >> companies_1g.json; done
$ for i in {1..2}; do cat companies_1g.json >> companies_2g.json; done
$ for i in {1..2}; do cat companies_2g.json >> companies_4g.json; done
$ for i in {1..2}; do cat companies_4g.json >> companies_8g.json; done
$ ./bench.sh
build
Finished release [optimized] target(s) in 0.0 secs
number of queries = 1
file_path: work/companies_1g.json, parser_name: serde_json, queries: $._id.$oid print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 6843564, elapsed: Duration { secs: 2, nanos: 308232158 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 8769 }, throughput (mb/sec): 452.4017
file_path: work/companies_1g.json, parser_name: json, queries: $._id.$oid print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 6317136, elapsed: Duration { secs: 3, nanos: 889142749 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 14775 }, throughput (mb/sec): 268.5034
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 6843564, elapsed: Duration { secs: 1, nanos: 94431121 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 4157 }, throughput (mb/sec): 954.1471
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid print: false train_num: 100
num: 263214, size: 1094973642, r: 6843564, elapsed: Duration { secs: 0, nanos: 732991111 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 2784 }, throughput (mb/sec): 1424.6397
number of queries = 2
file_path: work/companies_1g.json, parser_name: serde_json, queries: $._id.$oid,$.partners print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 8144696, elapsed: Duration { secs: 2, nanos: 394376824 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 9096 }, throughput (mb/sec): 436.1253
file_path: work/companies_1g.json, parser_name: json, queries: $._id.$oid,$.partners print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 7618268, elapsed: Duration { secs: 3, nanos: 968938050 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 15078 }, throughput (mb/sec): 263.1052
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 8206912, elapsed: Duration { secs: 1, nanos: 116198107 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 4240 }, throughput (mb/sec): 935.5402
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners print: false train_num: 100
num: 263214, size: 1094973642, r: 8206912, elapsed: Duration { secs: 0, nanos: 779377077 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 2961 }, throughput (mb/sec): 1339.8498
number of queries = 4
file_path: work/companies_1g.json, parser_name: serde_json, queries: $._id.$oid,$.partners,$.name,$.external_links print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 33848920, elapsed: Duration { secs: 2, nanos: 861310494 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 10870 }, throughput (mb/sec): 364.9545
file_path: work/companies_1g.json, parser_name: json, queries: $._id.$oid,$.partners,$.name,$.external_links print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 32796064, elapsed: Duration { secs: 4, nanos: 81090438 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 15504 }, throughput (mb/sec): 255.8748
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners,$.name,$.external_links print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 35287798, elapsed: Duration { secs: 1, nanos: 131267074 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 4297 }, throughput (mb/sec): 923.0784
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners,$.name,$.external_links print: false train_num: 100
num: 263214, size: 1094973642, r: 35287798, elapsed: Duration { secs: 0, nanos: 789149631 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 2998 }, throughput (mb/sec): 1323.2576
number of queries = 8
file_path: work/companies_1g.json, parser_name: serde_json, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 110592552, elapsed: Duration { secs: 3, nanos: 845545814 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 14609 }, throughput (mb/sec): 271.5475
file_path: work/companies_1g.json, parser_name: json, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 108486840, elapsed: Duration { secs: 4, nanos: 527017219 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 17198 }, throughput (mb/sec): 230.6703
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 117254690, elapsed: Duration { secs: 1, nanos: 218438549 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 4628 }, throughput (mb/sec): 857.0381
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds print: false train_num: 100
num: 263214, size: 1094973642, r: 117254690, elapsed: Duration { secs: 0, nanos: 883058400 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 3354 }, throughput (mb/sec): 1182.5359
number of queries = 16
file_path: work/companies_1g.json, parser_name: serde_json, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds,$.homepage_url,$.blog_url,$.blog_feed_url,$.twitter_username,$.category_code,$.number_of_employees,$.tag_list,$.email_address print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 144763472, elapsed: Duration { secs: 4, nanos: 505486642 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 17116 }, throughput (mb/sec): 231.7726
file_path: work/companies_1g.json, parser_name: json, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds,$.homepage_url,$.blog_url,$.blog_feed_url,$.twitter_username,$.category_code,$.number_of_employees,$.tag_list,$.email_address print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 139591312, elapsed: Duration { secs: 4, nanos: 854898803 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 18443 }, throughput (mb/sec): 215.0917
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds,$.homepage_url,$.blog_url,$.blog_feed_url,$.twitter_username,$.category_code,$.number_of_employees,$.tag_list,$.email_address print: false train_num: 1000000000000000000
num: 263214, size: 1094973642, r: 151425610, elapsed: Duration { secs: 1, nanos: 280173135 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 4863 }, throughput (mb/sec): 815.7086
file_path: work/companies_1g.json, parser_name: pikkr, queries: $._id.$oid,$.partners,$.name,$.external_links,$.permalink,$.screenshots,$.crunchbase_url,$.video_embeds,$.homepage_url,$.blog_url,$.blog_feed_url,$.twitter_username,$.category_code,$.number_of_employees,$.tag_list,$.email_address print: false train_num: 100
num: 263214, size: 1094973642, r: 151425610, elapsed: Duration { secs: 1, nanos: 80496749 }, average size: 4160, average elapsed: Duration { secs: 0, nanos: 4104 }, throughput (mb/sec): 966.4520
- Rust nightly channel and CPUs with AVX2 are needed to build Rust source code which depends on Pikkr and run the executable binary file because Pikkr uses AVX2 Instructions.
Any kind of contribution (e.g. comment, suggestion, question, bug report and pull request) is welcome.