Skip to content

Instantly share code, notes, and snippets.

View schneems's full-sized avatar

Richard Schneeman schneems

View GitHub Profile
remote: ! Could not find bundler (>= 0.a) amongst [actionmailer-3.2.11, actionpack-3.2.11, activemodel-3.2.11, activerecord-3.2.11, activeresource-3.2.11, activesupport-3.2.11, arel-3.0.2, builder-3.0.4, coffee-rails-3.2.2, coffee-script-2.2.0, coffee-script-source-1.4.0, erubis-2.7.0, execjs-1.4.0, hike-1.2.1, i18n-0.6.1, journey-1.0.4, jquery-rails-2.2.0, json-1.7.6, mail-2.4.4, mime-types-1.19, multi_json-1.5.0, pg-0.14.1, polyglot-0.3.3, rack-1.4.4, rack-cache-1.2, rack-ssl-1.3.2, rack-test-0.6.2, rails-3.2.11, railties-3.2.11, rake-10.0.3, rdoc-3.12, sass-3.2.5, sass-rails-3.2.6, sprockets-2.2.2, thor-0.16.0, tilt-1.3.3, treetop-1.4.12, tzinfo-0.3.35, uglifier-1.3.0]
remote: !
$ rails new myapp -d=postgresql
$ cd myapp/
$ git add .
$ git commit -m first
$ heroku create
$ git push heroku master
remote: -----> Ruby app detected
remote:
remote: !
remote: ! You must use Bundler 2 or greater with this lockfile.
~ $ rails c
/app/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bootsnap/compile_cache/iseq.rb:18: [BUG] Segmentation fault at 0x0000000000001994
ruby 2.6.0dev (2018-11-25 schneems/bundler 65963) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0030 p:---- s:0171 e:000170 CFUNC :load_from_binary
c:0029 p:0014 s:0166 e:000165 METHOD /app/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bootsnap/compile_cache/iseq.rb:18 [FINISH]
c:0028 p:---- s:0160 e:000159 CFUNC :fetch
c:0027 p:0069 s:0153 e:000152 METHOD /app/vendor/bundle/ruby/2.6.0/gems/bootsnap-1.3.2/lib/bootsnap/compile_cache/iseq.rb:37 [FINISH]
c:0026 p:---- s:0147 e:000146 CFUNC :require
require 'minitest/mock'
class Foo
def foo
bar
end
def bar
end
def early_return(val)
return val if val
"nope"
end
def compare_if(val)
if val
val
else
10.791165 0.612941 11.447048 ( 12.321773)
10.392580 0.607349 11.042279 ( 11.851726)
10.735180 0.595994 11.372614 ( 12.300327)
10.429255 0.607993 11.079885 ( 11.984101)
10.636112 0.618988 11.289580 ( 12.239277)
10.350005 0.593711 10.986309 ( 11.958930)
10.278313 0.582329 10.912143 ( 12.399119)
10.326966 0.571871 10.933312 ( 11.845198)
10.623241 0.612042 11.281695 ( 12.252219)
10.419475 0.606360 11.061647 ( 12.021191)
require 'benchmark/ips'
MYARRAY = [["a", ["b", nil, "c", ["d"]]]]
Benchmark.ips do |x|
x.report("before") {
array = MYARRAY.dup
array.flatten!
array.uniq!
array.compact!
13.067572 0.813413 13.924595 ( 15.231642)
13.340035 0.831787 14.226155 ( 15.775059)
11.818412 0.738438 12.596999 ( 13.704238)
10.572116 0.637105 11.253312 ( 12.208787)
12.093575 0.718124 12.865758 ( 13.949344)
13.526131 0.871625 14.459032 ( 15.760837)
10.514290 0.640316 11.197930 ( 12.188919)
12.140994 0.763224 12.949930 ( 14.065164)
11.631830 0.716007 12.391399 ( 13.485287)
10.856942 0.671625 11.574060 ( 12.568493)
require 'benchmark/ips'
nil_case = nil
Benchmark.ips do |x|
x.report("nil &. ") { nil_case&.try(:foo) }
x.report("nil try") { nil_case.try(:foo) }
x.compare!
end
# Warming up --------------------------------------
11.783699 0.650146 12.467872 ( 13.422943)
12.104542 0.659909 12.797807 ( 13.718245)
11.925324 0.636579 12.592296 ( 13.490725)
11.299587 0.630098 11.970901 ( 12.859900)
11.325793 0.628691 11.995270 ( 13.114663)
11.342529 0.631052 12.004864 ( 12.916576)
11.387220 0.634889 12.053792 ( 12.978094)
11.400185 0.640076 12.078126 ( 13.021475)
11.412689 0.640065 12.083551 ( 13.011890)
11.363294 0.634647 12.028172 ( 12.959045)