simdjson 0.4.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +30 -0
- data/.rubocop.yml +7 -3
- data/Gemfile +2 -0
- data/README.md +1 -1
- data/Rakefile +6 -3
- data/benchmark/run_benchmark.rb +1 -0
- data/ext/simdjson/extconf.rb +2 -2
- data/ext/simdjson/simdjson_ruby.cpp +3 -2
- data/lib/simdjson.rb +2 -0
- data/lib/simdjson/version.rb +3 -1
- data/simdjson.gemspec +4 -2
- metadata +12 -12
- data/.travis.yml +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53b3750a36277a2b82719e05d004d9b0f9047d0c24a149e2695989614fd11c85
|
4
|
+
data.tar.gz: 8deb51bff653e504783a29e3d3cbcc6ad102046469e6a963ecfab75e47f67f1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4cf621a4ff8f300ddbe88682853926c81b148636f0d9b1d913d2e37d668e484c543296cd343d6c2d57994c1dcbb17db4450d14147bb8850740f3b7594d84d599
|
7
|
+
data.tar.gz: d799350e3caad57119597394bb3bf9314c8b1f15c8c413336e99156be5212ff946db6cdf77bdad698e8da4df5967190a1bc7849f48e230199903f2f2fcf95adc
|
@@ -0,0 +1,30 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
strategy:
|
13
|
+
matrix:
|
14
|
+
ruby: [ '2.6', '2.7' ]
|
15
|
+
name: Ruby ${{ matrix.ruby }} sample
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v2.3.2
|
18
|
+
with:
|
19
|
+
submodules: true
|
20
|
+
- uses: actions/setup-ruby@v1.1.1
|
21
|
+
with:
|
22
|
+
ruby-version: ${{ matrix.ruby }}
|
23
|
+
- name: Update bundler
|
24
|
+
run: gem install bundler -v 2.1.4
|
25
|
+
- name: Install dependencies
|
26
|
+
run: bundle install
|
27
|
+
- name: Build and run tests
|
28
|
+
run: bundle exec rake
|
29
|
+
- name: Run rubocop
|
30
|
+
run: bundle exec rubocop --fail-level=W
|
data/.rubocop.yml
CHANGED
@@ -1,9 +1,13 @@
|
|
1
1
|
require:
|
2
2
|
- rubocop-performance
|
3
|
-
|
3
|
+
AllCops:
|
4
|
+
TargetRubyVersion: 2.6
|
5
|
+
Layout/LineLength:
|
4
6
|
Max: 120
|
5
7
|
Style/Documentation:
|
6
8
|
Enabled: false
|
7
|
-
|
9
|
+
Style/GlobalVars:
|
10
|
+
AllowedVariables:
|
11
|
+
- $CXXFLAGS
|
12
|
+
Metrics/CyclomaticComplexity:
|
8
13
|
Max: 10
|
9
|
-
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# simdjson gem
|
2
|
-
|
2
|
+
![Ruby](https://github.com/saka1/simdjson_ruby/workflows/Ruby/badge.svg)
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/simdjson.svg)](https://badge.fury.io/rb/simdjson)
|
4
4
|
|
5
5
|
A Ruby bindings for [simdjson](https://github.com/lemire/simdjson).
|
data/Rakefile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'bundler/gem_tasks'
|
2
4
|
require 'rake/testtask'
|
3
5
|
require 'rubocop/rake_task'
|
@@ -18,9 +20,10 @@ task compile: :before_compile
|
|
18
20
|
task :before_compile do
|
19
21
|
puts 'Copy singleheader files to ext/simdjson...'
|
20
22
|
FileUtils.cp([
|
21
|
-
|
22
|
-
|
23
|
-
|
23
|
+
"#{SIMDJSON_SINGLEHEADER_DIR}/simdjson.h",
|
24
|
+
"#{SIMDJSON_SINGLEHEADER_DIR}//simdjson.cpp"
|
25
|
+
],
|
26
|
+
'ext/simdjson')
|
24
27
|
end
|
25
28
|
|
26
29
|
Rake::ExtensionTask.new('simdjson') do |ext|
|
data/benchmark/run_benchmark.rb
CHANGED
data/ext/simdjson/extconf.rb
CHANGED
@@ -52,7 +52,9 @@ static VALUE rb_simdjson_parse(VALUE self, VALUE arg) {
|
|
52
52
|
Check_Type(arg, T_STRING);
|
53
53
|
|
54
54
|
dom::parser parser;
|
55
|
-
|
55
|
+
padded_string str(RSTRING_PTR(arg), RSTRING_LEN(arg));
|
56
|
+
dom::element doc;
|
57
|
+
auto error = parser.parse(str).get(doc);
|
56
58
|
if (error == SUCCESS) {
|
57
59
|
return make_ruby_object(doc);
|
58
60
|
}
|
@@ -69,4 +71,3 @@ void Init_simdjson(void) {
|
|
69
71
|
rb_define_module_function(rb_mSimdjson, "parse", reinterpret_cast<VALUE (*)(...)>(rb_simdjson_parse), 1);
|
70
72
|
}
|
71
73
|
}
|
72
|
-
|
data/lib/simdjson.rb
CHANGED
data/lib/simdjson/version.rb
CHANGED
data/simdjson.gemspec
CHANGED
@@ -15,6 +15,8 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.homepage = 'https://github.com/saka1/simdjson_ruby'
|
16
16
|
spec.license = 'MIT'
|
17
17
|
|
18
|
+
spec.required_ruby_version = '>= 2.6'
|
19
|
+
|
18
20
|
# Specify which files should be added to the gem when it is released.
|
19
21
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
20
22
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
@@ -32,6 +34,6 @@ Gem::Specification.new do |spec|
|
|
32
34
|
spec.add_development_dependency 'oj'
|
33
35
|
spec.add_development_dependency 'rake', '>= 12.3.3'
|
34
36
|
spec.add_development_dependency 'rake-compiler'
|
35
|
-
spec.add_development_dependency 'rubocop'
|
36
|
-
spec.add_development_dependency 'rubocop-performance'
|
37
|
+
spec.add_development_dependency 'rubocop', '~> 0.89.1'
|
38
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.7.1'
|
37
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simdjson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- saka1
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|
@@ -98,30 +98,30 @@ dependencies:
|
|
98
98
|
name: rubocop
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 0.89.1
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 0.89.1
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rubocop-performance
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 1.7.1
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 1.7.1
|
125
125
|
description: simdjson gem is a binding to use simdjson, which is a Lemire's fast JSON
|
126
126
|
parser.
|
127
127
|
email:
|
@@ -132,10 +132,10 @@ extensions:
|
|
132
132
|
extra_rdoc_files: []
|
133
133
|
files:
|
134
134
|
- ".clang-format"
|
135
|
+
- ".github/workflows/ruby.yml"
|
135
136
|
- ".gitignore"
|
136
137
|
- ".gitmodules"
|
137
138
|
- ".rubocop.yml"
|
138
|
-
- ".travis.yml"
|
139
139
|
- Gemfile
|
140
140
|
- LICENSE.txt
|
141
141
|
- README.md
|
@@ -164,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
164
|
requirements:
|
165
165
|
- - ">="
|
166
166
|
- !ruby/object:Gem::Version
|
167
|
-
version: '
|
167
|
+
version: '2.6'
|
168
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
170
|
- - ">="
|