z, ? | toggle help (this) |
space, → | next slide |
shift-space, ← | previous slide |
d | toggle debug mode |
## <ret> | go to slide # |
c, t | table of contents (vi) |
f | toggle footer |
g | toggle follow |
r | reload slides |
n | toggle notes |
p | run preshow |
P | toggle pause |
s | choose style |
Joel Chippindale
(CTO at Econsultancy)
*take 10 or more seconds to start up
*take 10 or more seconds to start up
who already uses Zeus?</ br> who uses spork?
(demo)
bundle exec rspec
zeus rspec
zeus rake
sub two second tests
Creating copies of processes
"...do work before it is known whether that work will be needed at all, so as to prevent a delay that would have to be incurred by doing the work after it is known whether it is needed"
Written by Burke Libbey of Shopify
Manages pool of slaves which have preloaded parts of your app and speculatively replaces them when your code changes.
(demo)
show zeus start
class Zeus::Rails < Zeus::Plan
...
def default_bundle
Bundler.require(:default)
end
def development_environment
Bundler.require(:development)
::Rails.env = ENV['RAILS_ENV'] = "development"
require APP_PATH
::Rails.application.require_environment!
end
...
end
Slaves are replaced when any ruby file they have loaded is changed
Monkey patches Kernel#load and YAML#load_file and reports back to master which watches these files
$ zeus console
$ zeus rake
$ zeus server
...
Inside your rails project directory:
$ gem install zeus
$ zeus init
$ zeus start
And feel the lightning speed.
Remind no need to change your codebase
0.0.1 release in July this year
(and why Zeus is better)
show of hands of people who have used
tension between pre/post fork file loading - hours spent working out why your changes are not being applied
Theme of ruby conferences this year from Scottish Ruby Conference to Aloha Ruby Conference
Fast Rails Tests - Corey Haines - Golden Gate Ruby Conference 2011
Matt Wynne/Steven Tookey - LRUG June 2012
SOA - Songkick blog posts
Potential benefits far beyond testing but lots of work so Zeus in the meantime
joel.chippindale@econsultancy.com \ @joelchippindale
Thanks to ocularinvasion for the picture of Zeus and lightning bolt