rdf-benchmark 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/rdf/benchmark/repository.rb +51 -19
  4. metadata +16 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11b9b218709e7c01b2d0c924c058b8d934e3ac7b
4
- data.tar.gz: bb4859eb9b2075ccd9178d6ab7ffd6439121b3fb
3
+ metadata.gz: 5f2fe2b73bba6a6b2208986f47372e930798b7ef
4
+ data.tar.gz: 6abe87d1434623385462782be6e8c88b6aa41c82
5
5
  SHA512:
6
- metadata.gz: 5d5c09fd5fd549d1d3f86f0bc933644b0afa455df95c3bf168cede0d6157d914e7a0bc41206aba5b3f752d1d7c561202be3666c52eade841d67df1b55312de50
7
- data.tar.gz: c76b25a9f4137084d600688258ac8fc73757b1b7819997b69b89b4c2f61a1068bbb02c9347eb4dffa4eac4fc9b76ab995f6e78916ab7c8aac1ff951c48c67a93
6
+ metadata.gz: 288b02f11f636ae0ea8ef211e5303213775a475bcb4c4b06b1836de2c479a40840c718df632302d23414f2eacdd3d4d3c4509487fda98bcf60a07431d6eb7650
7
+ data.tar.gz: c6198b8e8c3875c94d67d13fa7dfe2e13fc54a16dca7485764eddc05235a9a41576f4be199dc7a222703a2137a3807a031ac23477c041567c5493fcbf35ccc06
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.0
@@ -14,21 +14,46 @@ module RDF::Benchmark
14
14
  end
15
15
 
16
16
  ##
17
- # @return [RDF::Enumerator]
18
- def statements
19
- @generator.data.each_statement
17
+ # Benchmark {Repository#delete_insert} for individual statements.
18
+ #
19
+ # @param name [#to_s] the name to give the benchmark report
20
+ # @param preload [Integer] number of statements to preload into the
21
+ # repository for delete
22
+ # @param options [Hash<Symbol, Object>]
23
+ # @see RDF::Benchmark#benchmark_ips
24
+ #
25
+ # @return [Benchmark::IPS::Report] the report for the finished benchmark
26
+ def delete_insert!(name: 'Repository#delete_insert',
27
+ preload: 1_000_000, **options)
28
+ inserts = statements.lazy
29
+ deletes = inserts.take(preload)
30
+ deletes.each { |st| repository.insert(st) }
31
+
32
+ report = RDF::Benchmark.benchmark_ips!(name: name, **options) do
33
+ repository.delete_insert(deletes.take(10), inserts.take(10))
34
+ end
35
+
36
+ return report
37
+ ensure
38
+ repository.clear
20
39
  end
21
40
 
22
41
  ##
23
- # @param name [#to_s]
24
- # @param count [Integer] number of statements to prime for insert
42
+ # Benchmark {Repository#delete} for individual statements.
43
+ #
44
+ # @param name [#to_s] the name to give the benchmark report
45
+ # @param preload [Integer] number of statements to preload into the
46
+ # repository for delete
47
+ # @param options [Hash<Symbol, Object>]
48
+ # @see RDF::Benchmark#benchmark_ips
25
49
  #
26
- # @return [Benchmark::IPS::Report]
27
- def insert!(name: 'insert', count: 100_000)
28
- inserts = statements.lazy.take(count)
50
+ # @return [Benchmark::IPS::Report] the report for the finished benchmark
51
+ def delete!(name: 'Repository#delete', preload: 1_000_000, **options)
52
+ deletes = statements.lazy.take(preload)
53
+ deletes.each { |st| repository.insert(st) }
29
54
 
30
- report = RDF::Benchmark.benchmark_ips!(name: name) do
31
- repository.insert(inserts.next)
55
+ report = RDF::Benchmark.benchmark_ips!(name: name, **options) do
56
+ repository.delete(deletes.next)
32
57
  end
33
58
 
34
59
  return report
@@ -37,22 +62,29 @@ module RDF::Benchmark
37
62
  end
38
63
 
39
64
  ##
40
- # @param name [#to_s] the name to give the benchmark report
41
- # @param count [Integer] number of statements to prime for delete
65
+ # Benchmark {Repository#insert} for individual statements.
42
66
  #
43
- # @return [Benchmark::IPS::Report]
44
- def delete!(name: 'delete', count: 100_000)
45
- deletes = statements.lazy.take(count)
46
-
47
- deletes.each { |st| repository.insert(st) }
67
+ # @param name [#to_s]
68
+ # @param options [Hash<Symbol, Object>]
69
+ # @see RDF::Benchmark#benchmark_ips
70
+ #
71
+ # @return [Benchmark::IPS::Report] the report for the finished benchmark
72
+ def insert!(name: 'Repository#insert', **options)
73
+ inserts = statements.lazy
48
74
 
49
- report = RDF::Benchmark.benchmark_ips!(name: name) do
50
- repository.delete(deletes.next)
75
+ report = RDF::Benchmark.benchmark_ips!(name: name, **options) do
76
+ repository.insert(inserts.next)
51
77
  end
52
78
 
53
79
  return report
54
80
  ensure
55
81
  repository.clear
56
82
  end
83
+
84
+ ##
85
+ # @return [RDF::Enumerator]
86
+ def statements
87
+ @generator.data.each_statement
88
+ end
57
89
  end
58
90
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-benchmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Johnson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-09 00:00:00.000000000 Z
11
+ date: 2016-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdf
@@ -28,58 +28,58 @@ dependencies:
28
28
  name: benchmark-ips
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.6'
33
+ version: '2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '2.6'
40
+ version: '2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.8'
75
+ version: '0.9'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.8'
82
+ version: '0.9'
83
83
  description: Dataset Generation & Benchmarks for RDF.rb
84
84
  email: public-rdf-ruby@w3.org
85
85
  executables: []
@@ -95,7 +95,7 @@ files:
95
95
  - lib/rdf/benchmark/repository.rb
96
96
  homepage: http://ruby-rdf.github.com/rdf-benchmark
97
97
  licenses:
98
- - Public Domain
98
+ - Unlicense
99
99
  metadata: {}
100
100
  post_install_message:
101
101
  rdoc_options: []
@@ -113,9 +113,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  version: '0'
114
114
  requirements: []
115
115
  rubyforge_project:
116
- rubygems_version: 2.5.1
116
+ rubygems_version: 2.6.8
117
117
  signing_key:
118
118
  specification_version: 4
119
119
  summary: Dataset Generation & Benchmarks for RDF.rb
120
120
  test_files: []
121
- has_rdoc: false