Skip to content

Instantly share code, notes, and snippets.

View kapso's full-sized avatar

Kapil kapso

View GitHub Profile
def thread_write
pool = ThreadPool.new(80)
doc_size = 10000
doc_size.times do |i|
pool.process do
write_doc(i)
read_doc(i)
end
def connection(options = { pool: true })
if options[:pool]
Mongo::Connection.new("localhost", 27017, pool_size: 15, pool_timeout: 5)
else
Mongo::Connection.new("localhost", 27017)
end
end
def do_write(counter = nil)
if counter
{
"errors": [
{
"code": 63,
"message": "User has been suspended"
}
]
}
@kapso
kapso / gist:3969381
Created October 28, 2012 18:31
Hiredis gemfile
gem 'redis', '3.0.2', require: ['redis', 'redis/connection/hiredis']
gem 'hiredis'
@kapso
kapso / gist:3969367
Created October 28, 2012 18:25
Hiredis benchmark
extend ActiveSupport::Benchmarkable
def logger; Rails.logger; end;
def redis_connection(hire = true)
hire ? Redis.new(logger: nil, driver: 'hiredis') : Redis.new(logger: nil)
end
def test_redis_hash(size = 10_000, hire = true)
key = Digest::MD5.hexdigest(Time.now.to_i.to_s)[0, 24]
@kapso
kapso / gist:3968277
Created October 28, 2012 10:35
Hiredis test
extend ActiveSupport::Benchmarkable
def logger; Rails.logger; end;
def redis_connection(hire = true)
hire ? Redis.new(logger: nil, driver: 'hiredis') : Redis.new(logger: nil)
end
def test_redis(size = 10_000, hire = true)
key = Digest::MD5.hexdigest(Time.now.to_i.to_s)[0, 24]
@kapso
kapso / gist:3455336
Created August 24, 2012 20:36
Paths
{
"connections/paths": [
{
"user_ids": ["4e4b1547a876e66e41000033", "4e4b1547a876e66e41000011"],
"connectors": [
{
"via": "facebook",
"type": "friend",
OR
"in": true,
@kapso
kapso / gist:3061752
Created July 6, 2012 18:13 — forked from toamitkumar/gist:952211
Inspect and test routes on console (Rails 3)
$ rails console
Loading development environment (Rails 3.0.6)
ruby-1.8.7-p334 :001 > r = Rails.application.routes
Gives you a handle of all the routes (config/routes.rb)
#Inspect a named route:
ruby-1.8.7-p334 :005 > r.recognize_path(app.destroy_user_session_path)
=> {:action=>"destroy", :controller=>"sessions"}
@kapso
kapso / gist:3005829
Created June 27, 2012 18:20
Ruby by reference or value? (in this example it created a copy)
class Car
def start(speed)
speed = 60
puts "running @ #{speed}"
end
end
speed = 40
puts speed
Car.new.start speed
@kapso
kapso / gist:3005776
Created June 27, 2012 18:09
Ruby parameter passing by value or reference? (its by REF)
class Car
def start(options)
options[:speed] = 60
puts "running @ #{options[:speed]}"
end
end
op = { speed: 50 }
puts op.inspect
Car.new.start op