receptacle 1.0.0 → 2.0.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/.github/workflows/matrix.yml +32 -0
- data/.gitignore +1 -1
- data/.rubocop.yml +4 -7
- data/CHANGELOG.md +27 -22
- data/Gemfile +0 -6
- data/Gemfile.lock +92 -0
- data/LICENSE.txt +1 -1
- data/README.md +22 -52
- data/Rakefile +0 -3
- data/examples/simple_repo.rb +2 -1
- data/lib/receptacle/errors.rb +1 -1
- data/lib/receptacle/repo.rb +51 -0
- data/lib/receptacle/test_support.rb +0 -16
- data/lib/receptacle/version.rb +1 -1
- data/lib/receptacle.rb +1 -8
- data/receptacle.gemspec +23 -18
- data/upgrade_notes.md +45 -0
- metadata +36 -62
- data/.circleci/config.yml +0 -64
- data/.dir-locals.el +0 -1
- data/Dangerfile +0 -31
- data/Guardfile +0 -32
- data/lib/receptacle/interface_methods.rb +0 -51
- data/lib/receptacle/method_cache.rb +0 -43
- data/lib/receptacle/method_delegation.rb +0 -141
- data/lib/receptacle/registration.rb +0 -35
- data/performance/benchmark.rb +0 -45
- data/performance/profile.rb +0 -40
- data/performance/speed_receptacle.rb +0 -105
data/performance/profile.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
# run with --profile.api in JRUBY_OPTS
|
5
|
-
require "bundler/inline"
|
6
|
-
require "jruby/profiler"
|
7
|
-
PROFILE_NAME = "receptacle"
|
8
|
-
|
9
|
-
gemfile false do
|
10
|
-
source "https://rubygems.org"
|
11
|
-
gem "receptacle", path: "./.."
|
12
|
-
end
|
13
|
-
require_relative "speed_receptacle"
|
14
|
-
|
15
|
-
Speed.strategy(Speed::Strategy::One)
|
16
|
-
Speed.wrappers [Speed::Wrappers::W1,
|
17
|
-
Speed::Wrappers::W2,
|
18
|
-
Speed::Wrappers::W3,
|
19
|
-
Speed::Wrappers::W4,
|
20
|
-
Speed::Wrappers::W5,
|
21
|
-
Speed::Wrappers::W6]
|
22
|
-
Speed.a(1)
|
23
|
-
Speed.b(1)
|
24
|
-
Speed.c(1)
|
25
|
-
Speed.d(1)
|
26
|
-
Speed.e(1)
|
27
|
-
Speed.f(1)
|
28
|
-
Speed.g(1)
|
29
|
-
|
30
|
-
GC.disable
|
31
|
-
profile_data = JRuby::Profiler.profile do
|
32
|
-
100_000.times { Speed.a(1) }
|
33
|
-
end
|
34
|
-
|
35
|
-
profile_printer = JRuby::Profiler::GraphProfilePrinter.new(profile_data)
|
36
|
-
profile_printer.printProfile(File.open("#{PROFILE_NAME}.graph.profile", "w+"))
|
37
|
-
profile_printer.printProfile(STDOUT)
|
38
|
-
|
39
|
-
profile_printer = JRuby::Profiler::FlatProfilePrinter.new(profile_data)
|
40
|
-
profile_printer.printProfile(File.open("#{PROFILE_NAME}.flat.profile", "w+"))
|
@@ -1,105 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "receptacle"
|
4
|
-
module Speed
|
5
|
-
include Receptacle::Repo
|
6
|
-
mediate :a
|
7
|
-
mediate :b
|
8
|
-
mediate :c
|
9
|
-
mediate :d
|
10
|
-
mediate :e
|
11
|
-
mediate :f
|
12
|
-
mediate :g
|
13
|
-
module Strategy
|
14
|
-
class One
|
15
|
-
def a(arg)
|
16
|
-
arg
|
17
|
-
end
|
18
|
-
alias b a
|
19
|
-
alias c a
|
20
|
-
alias d a
|
21
|
-
alias e a
|
22
|
-
alias f a
|
23
|
-
alias g a
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
module Wrappers
|
28
|
-
class W1
|
29
|
-
def before_a(args)
|
30
|
-
args
|
31
|
-
end
|
32
|
-
|
33
|
-
def after_a(return_values, _args)
|
34
|
-
return_values
|
35
|
-
end
|
36
|
-
|
37
|
-
def before_f(args)
|
38
|
-
args
|
39
|
-
end
|
40
|
-
|
41
|
-
def after_f(return_values, _args)
|
42
|
-
return_values
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
class W2
|
47
|
-
# :a
|
48
|
-
def before_a(args)
|
49
|
-
args
|
50
|
-
end
|
51
|
-
|
52
|
-
def after_a(return_values, _args)
|
53
|
-
return_values
|
54
|
-
end
|
55
|
-
|
56
|
-
# :b
|
57
|
-
def before_b(args)
|
58
|
-
args
|
59
|
-
end
|
60
|
-
|
61
|
-
def after_b(return_values, _args)
|
62
|
-
return_values
|
63
|
-
end
|
64
|
-
end
|
65
|
-
class W3
|
66
|
-
def before_a(args)
|
67
|
-
args
|
68
|
-
end
|
69
|
-
|
70
|
-
def before_c(args)
|
71
|
-
args
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
class W4
|
76
|
-
def after_a(return_values, _args)
|
77
|
-
return_values
|
78
|
-
end
|
79
|
-
|
80
|
-
def after_d(return_value, _args)
|
81
|
-
return_value
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
class W5
|
86
|
-
def before_b(args)
|
87
|
-
args
|
88
|
-
end
|
89
|
-
|
90
|
-
def after_c(return_value, _args)
|
91
|
-
return_value
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
class W6
|
96
|
-
def after_b(return_value, _args)
|
97
|
-
return_value
|
98
|
-
end
|
99
|
-
|
100
|
-
def before_e(args)
|
101
|
-
args
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|