21. In development
You reinitialize Rails stack frequently
(unless using Spork etc)
You use a single CPU core most of the time
(unless using parallel_specs, hydra etc)
23. Rails’ own test suite
~% git clone git://github.com/rails/rails.git
Cloning into rails...
~% cd rails
~/rails[master]% git checkout v3.0.7
Note: checking out 'v3.0.7'.
…
HEAD is now at 2c32601... bumping version for release
~/tmp/rails[tag: v3.0.7]% bundle install
Fetching source index for http://rubygems.org/
…
Your bundle is complete! Use `bundle show [gemname]` to see where a
bundled gem is installed.
~/tmp/rails[tag: v3.0.7]% time bundle exec rake test | tee out.txt 2>&1
27. ## ruby -ne '...'
next unless $_ =~ /^((d+) (tests|assertions|failures|errors)(?:, )?){4}$/
$_.split(", ").each do |pair|
count, name = *pair.split(" ")
@totals ||= {}
@totals[name] ||= 0
@totals[name] += count.to_i
end
print "r"+@totals.map { |key, val| "#{key} #{val}"}.join(", "); STDOUT.flush;
END {puts}
28.
29.
30. CC (attribution) photos
bus http://www.flickr.com/photos/futurepastnow/2972823328
ferrari http://www.flickr.com/photos/dontthinkfeel/200793214/
obie http://www.flickr.com/photos/seanosh/2544491971
earth NASA
rope walking http://www.flickr.com/photos/envizion/470658414
Notas del editor
\n
\n
\n
\n
\n
\n
\n
simplest of all, but it does not tell the whole story\n
This is where cloud infrastructure may seem inferior.\n
\n
you should benchmark representative code to be relevant, not calculating Pi\n
\n
(and less frequently too)\n
What’s the word on tweaking GC in ruby 1.9?\n
free + lots of promo codes\nyou want to track queueing time as well \nUse REE to get GC info\nOutlier requests analysis is not so useful, to me it always happens during the times of I/O shortage, not CPU shortage\nAn opportunity to create a more focused service\nRecall cloud hosting\n\nIn real application, there may be no single point responsible for the slowdown\n"Death by a thousand cuts" is the toughest one to combat\nExcept we can jump to the latests CPUs\nTurbo boost, eh? Perhaps underutilized Xeons are the way to go to get the absolute max\nA particular problem with Rails 3 where middleware is slightly slower, activerecord is slightly slower, who knows what else slightly slower\nThis is what the adoption rate slow\nView helpers are slow when there are many of them\nSerialization is slow\nHappens when loading structured data from memcached\nLoad strings?\n
\n
Why Basecamp feels sluggish\nWhy Rails 3 is adopted slowly\nWhy streaming in Rails 3.1 may change the game\n
\n
Chances are, you will be loading a single core\nYou need fastest startup time - running rake tasks, tests, generators, console, restarting the server\nThe way rubygems are written, every 'require' inspects LOADPATH\nRuby 1.9.2 is not that good for fast startups\n