Skip to content

Instantly share code, notes, and snippets.

View vessi's full-sized avatar

Mikhail Bortnyk vessi

  • Ukraine, Kyiv
  • 15:22 (UTC +03:00)
View GitHub Profile
module FakeOverloader
def method_added(name)
return if @__flag
@__overloads__ ||= {}
@__overloads__[name] ||= {}
m = instance_method(name)
@__overloads__[name][m.arity] = m
@__flag = true
define_method(name) { |*args, &block| self.class.__overloads__[name][args.size].bind(self).call(*args, &block) }
@__flag = false
@dschneider
dschneider / gist:2941985
Created June 16, 2012 17:15
RSpec - Stub Remote IP Request
ActionDispatch::Request.any_instance.stub(:remote_ip).and_return("192.168.0.1")
@jboner
jboner / latency.txt
Last active July 26, 2024 04:31
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD