bootsnap 0.2.12 → 0.2.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fcd4e8ebf4dd23bfc40fc7050f2c514a3290942f
4
- data.tar.gz: a26b06131e80497bb4c223c7db9ee7287cb03bf9
3
+ metadata.gz: e96b608dfc3efcc29016099867c20525c8c6ab90
4
+ data.tar.gz: 1b28b0c7a7da530afa65e6ff7a7a9665a3f0688d
5
5
  SHA512:
6
- metadata.gz: 34d6e350baf6ba66ba9dcb3533066153f34e9303897ecea815e651624064af479eabe23075d7f36f063dc927b9570cdff26891087fde7233ada51fafecf2ca96
7
- data.tar.gz: f603e54de0100b3f464a2ca9dee119db9d338f3c7f84ffe3952f5b9c83213d0371d7e0b7d54d7903423d6a787af1c51c3adc824cdf698ffd7b9994aed5a13d4e
6
+ metadata.gz: 0b0ebfa2b761317a56ec348ec72f8fa56426f5ebd2f2c9158b951f34408a3d89ac0361cfc1dd00d9556cc9f6c1d722c5db35d80057e54446b894f8047a64f0d5
7
+ data.tar.gz: d8071f275a597222f975d7791d3f3b4d08b48ee4ed95cc6135f969295716d7518271d3db78742c29a101ac15844c48e99830598865251d00e3db50aea1b74e84
data/README.md CHANGED
@@ -5,6 +5,11 @@
5
5
  Bootsnap is a library that plugs into a number of Ruby and (optionally) `ActiveSupport` and `YAML`
6
6
  methods to optimize and cache expensive computations. See [the How Does This Work section](#how-does-this-work) for more information.
7
7
 
8
+ #### Quick Performance Overview
9
+ - [Discourse](https://github.com/discourse/discourse) reports a boot time reduction of approximately 50%, from roughly 6 to 3 seconds on one machine;
10
+ - One of our smaller internal apps also sees a reduction of 50%, from 3.6 to 1.8 seconds;
11
+ - The core Shopify platform -- a rather large monolithic application -- boots about 75% faster, dropping from around 25s to 6.5s.
12
+
8
13
  ## Usage
9
14
 
10
15
  Add `bootsnap` to your `Gemfile`:
data/bootsnap.gemspec CHANGED
@@ -23,12 +23,14 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
  spec.extensions = ['ext/bootsnap/extconf.rb']
25
25
 
26
+ spec.required_ruby_version = '>= 2.3.0'
27
+
26
28
  spec.add_development_dependency "bundler", '~> 1'
27
29
  spec.add_development_dependency 'rake', '~> 10.0'
28
30
  spec.add_development_dependency 'rake-compiler', '~> 0'
29
31
  spec.add_development_dependency "minitest", "~> 5.0"
30
32
  spec.add_development_dependency "mocha", "~> 1.2"
33
+ spec.add_development_dependency "ffi-xattr", "~> 0.1.2"
31
34
 
32
35
  spec.add_runtime_dependency "msgpack", "~> 1.0"
33
- spec.add_runtime_dependency "snappy", "~> 0.0.15"
34
36
  end
@@ -1,6 +1,5 @@
1
1
  require_relative '../explicit_require'
2
2
 
3
- Bootsnap::ExplicitRequire.with_gems('snappy') { require 'snappy' }
4
3
  Bootsnap::ExplicitRequire.with_gems('msgpack') { require 'msgpack' }
5
4
  Bootsnap::ExplicitRequire.from_rubylibdir('fileutils')
6
5
 
@@ -58,8 +57,8 @@ module Bootsnap
58
57
 
59
58
  def load_data
60
59
  @data = begin
61
- MessagePack.load(Snappy.inflate(File.binread(@store_path)))
62
- rescue Errno::ENOENT, Snappy::Error
60
+ MessagePack.load(File.binread(@store_path))
61
+ rescue Errno::ENOENT, MessagePack::MalformedFormatError
63
62
  {}
64
63
  end
65
64
  end
@@ -69,7 +68,7 @@ module Bootsnap
69
68
  # caches if they read at an inopportune time.
70
69
  tmp = "#{@store_path}.#{(rand * 100000).to_i}.tmp"
71
70
  FileUtils.mkpath(File.dirname(tmp))
72
- File.binwrite(tmp, Snappy.deflate(MessagePack.dump(@data)))
71
+ File.binwrite(tmp, MessagePack.dump(@data))
73
72
  FileUtils.mv(tmp, @store_path)
74
73
  end
75
74
  end
@@ -1,3 +1,3 @@
1
1
  module Bootsnap
2
- VERSION = "0.2.12"
2
+ VERSION = "0.2.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootsnap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.12
4
+ version: 0.2.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Burke Libbey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-27 00:00:00.000000000 Z
11
+ date: 2017-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -81,33 +81,33 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.2'
83
83
  - !ruby/object:Gem::Dependency
84
- name: msgpack
84
+ name: ffi-xattr
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.0'
90
- type: :runtime
89
+ version: 0.1.2
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.0'
96
+ version: 0.1.2
97
97
  - !ruby/object:Gem::Dependency
98
- name: snappy
98
+ name: msgpack
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.0.15
103
+ version: '1.0'
104
104
  type: :runtime
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: 0.0.15
110
+ version: '1.0'
111
111
  description: wip.
112
112
  email:
113
113
  - burke.libbey@shopify.com
@@ -157,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - ">="
159
159
  - !ruby/object:Gem::Version
160
- version: '0'
160
+ version: 2.3.0
161
161
  required_rubygems_version: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - ">="