yomikomu 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/lib/yomikomu/version.rb +1 -1
- data/lib/yomikomu.rb +26 -6
- data/yomikomu.gemspec +4 -0
- metadata +31 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c24a27cea503e28dc7213b777a88feed4945571f
|
4
|
+
data.tar.gz: 934dd71846492df18f6848a115166ecd883ff5f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46c25d86f4c28d5e75d0528a692f9fe6dc6ed1c88ec087db06003cf9fa0cb5392a2602e8b1fc3b27128efbeda331fd84595468352644c05f74a0d98f3ab05c8f
|
7
|
+
data.tar.gz: 90b6790804141298cc316b3f1e64f6f614407ff3843f4ffee1a67bc1f5c9b96a3c0e7cb5cc559b30970987350627e11f4cfb983e7e6da4b492ffa95153a646df
|
data/lib/yomikomu/version.rb
CHANGED
data/lib/yomikomu.rb
CHANGED
@@ -1,12 +1,6 @@
|
|
1
1
|
require "yomikomu/version"
|
2
2
|
|
3
3
|
module Yomikomu
|
4
|
-
class NullStorage
|
5
|
-
def load_iseq fname; end
|
6
|
-
def compile_and_store_iseq fname; end
|
7
|
-
def remove_compiled_iseq fname; end
|
8
|
-
end
|
9
|
-
|
10
4
|
STATISTICS = Hash.new(0)
|
11
5
|
|
12
6
|
unless yomu_dir = ENV['YOMIKOMU_STORAGE_DIR']
|
@@ -17,6 +11,7 @@ module Yomikomu
|
|
17
11
|
end
|
18
12
|
YOMIKOMU_PREFIX = "#{yomu_dir}/cb."
|
19
13
|
YOMIKOMU_AUTO_COMPILE = ENV['YOMIKOMU_AUTO_COMPILE'] == 'true'
|
14
|
+
YOMIKOMU_USE_MMAP = ENV['YOMIKOMU_USE_MMAP']
|
20
15
|
|
21
16
|
if $VERBOSE
|
22
17
|
def self.info
|
@@ -40,6 +35,12 @@ module Yomikomu
|
|
40
35
|
end
|
41
36
|
end
|
42
37
|
|
38
|
+
class NullStorage
|
39
|
+
def load_iseq fname; end
|
40
|
+
def compile_and_store_iseq fname; end
|
41
|
+
def remove_compiled_iseq fname; end
|
42
|
+
end
|
43
|
+
|
43
44
|
class BasicStorage
|
44
45
|
def initialize
|
45
46
|
require 'digest/sha1'
|
@@ -152,6 +153,25 @@ module Yomikomu
|
|
152
153
|
end
|
153
154
|
end
|
154
155
|
|
156
|
+
if YOMIKOMU_USE_MMAP
|
157
|
+
require 'mmapped_string'
|
158
|
+
Yomikomu.info{ "[RUBY_YOMIKOMU] use mmap" }
|
159
|
+
|
160
|
+
module MMapFile
|
161
|
+
def read_compiled_iseq fname, iseq_key
|
162
|
+
MmappedString.open(iseq_key)
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
class FSStorage
|
167
|
+
prepend MMapFile
|
168
|
+
end
|
169
|
+
|
170
|
+
class FS2Storage
|
171
|
+
prepend MMapFile
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
155
175
|
class DBMStorage < BasicStorage
|
156
176
|
def initialize
|
157
177
|
require 'dbm'
|
data/yomikomu.gemspec
CHANGED
@@ -19,7 +19,11 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.required_ruby_version = '~> 2.3.0dev'
|
23
|
+
spec.add_runtime_dependency 'mmapped_string' if /linux/ =~ RUBY_PLATFORM
|
24
|
+
|
22
25
|
spec.add_development_dependency "bundler", "~> 1.10"
|
23
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
27
|
spec.add_development_dependency "minitest"
|
28
|
+
spec.add_development_dependency 'mmapped_string' if /linux/ =~ RUBY_PLATFORM
|
25
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yomikomu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koichi Sasada
|
@@ -10,6 +10,20 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2015-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: mmapped_string
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +66,20 @@ dependencies:
|
|
52
66
|
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: mmapped_string
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
55
83
|
description: Dump compiled iseq by binary (kakidasu) and load binary (yomidasu).
|
56
84
|
email:
|
57
85
|
- ko1@atdot.net
|
@@ -82,9 +110,9 @@ require_paths:
|
|
82
110
|
- lib
|
83
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
84
112
|
requirements:
|
85
|
-
- - "
|
113
|
+
- - "~>"
|
86
114
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
115
|
+
version: 2.3.0dev
|
88
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
117
|
requirements:
|
90
118
|
- - ">="
|