Ruby JavaScript CoffeeScript
Latest commit f4faafb Sep 28, 2012 @steveklabnik updating README
Permalink
Failed to load latest commit information.
app null out startup times Sep 28, 2012
config run specs/benchmarks in production mode Sep 28, 2012
db omg turbo based on params. Sep 27, 2012
doc initial repo Sep 27, 2012
lib initial repo Sep 27, 2012
log initial repo Sep 27, 2012
public initial repo Sep 27, 2012
script initial repo Sep 27, 2012
spec Merge pull request #2 from garybernhardt/master Sep 28, 2012
vendor initial repo Sep 27, 2012
.gitignore run specs/benchmarks in production mode Sep 28, 2012
.rspec with specs Sep 27, 2012
Gemfile with specs Sep 27, 2012
Gemfile.lock with specs Sep 27, 2012
README.md updating README Sep 28, 2012
Rakefile initial repo Sep 27, 2012
config.ru initial repo Sep 27, 2012

README.md

Turbolinks test

Well, by now, you've done all your arguing on Twitter. Is Turbolinks a good idea, or the Worst Thing Ever?

optimizing a bit early

don knuth tony hoare

See these guys? One of them said this:

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"

Wisdom.

But what makes optimization premature? When you don't know if you should do it or not. How do you know?

measure twice, cut once

measure twice

Measuring. It's good for you. You can do it. If you measure things, you can be sure what's up.

But like eating your veggies, nobody measures. Ever.

you're a scientist, dammit

Computer SCIENCE is called science for a reason, yo. Be a scientist. Don't just argue about stuff on blogs. Measure things. Then report back.

this test sucks

This probably isn't even a good test. I don't care. Tell me how it sucks. Let's figure it out. But having actual measurements beats complaining about shit on Twitter any day.

what's it do?

Well, it fires up Selenium, and clicks some links. 1000 of them, by default. Then it prints out how long that took.

Branches

I've added some commits to master since I originally forked the branches. If you try this, you may want to add some of them in.

To run it:

$ bundle
$ rake assets:precompile
$ TIMES=100 rspec

Done.

What I get:

With 1000 pages:

$ rspec
       user     system      total        real
 no turbolinks 11.170000   0.980000  12.460000 (138.656728)
yes turbolinks 10.800000   0.870000  11.670000 ( 80.436286)

With 100 pages:

$ rspec
       user     system      total        real
 no turbolinks  1.640000   0.190000   2.140000 ( 15.652763)
yes turbolinks  1.120000   0.090000   1.210000 (  7.776116)