rdf-benchmark 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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