When I've been doing code katas with folks in Chicago, it makes doing TDD in Wagn feel like swimming in molasses.
Running a scenario under spork on a new rails project takes just under 3 seconds. On Wagn, it's closer to 7 for startup plus each step typically takes a second or two, so we often have 20+ second round-trips for a single scenario.
Additionally, our total test suite ( test:unit + rspec + cucumber ) takes a grand total of about 20 minutes. This is *waay* too long. A quick benmark suggests that up to 80% of the time in the unit tests occurs in Card#save.
Jon Dahl (some rails developer with a blog :) says:
This is only one datapoint but we're an order of magnitude out of his target.
In no particular order:
So, we've obviously done a bunch of work on this already. I suspect that some of the biggest opportunities remaining are:
What tools do we have for measuring performance? Both for tests and for more production like loads.
--Gerry Gleason.....Thu Jan 06 10:47:46 -0800 2011
not enough. we use new relic, but have only the lowest level of support. I might be willing to invest in more. Lew has a benchmarking spreadsheet somewhere, though I think the old data may not be super useful, as I think it's based on running stuff on his old laptop.
--Ethan McCutchen.....Thu Jan 06 11:41:08 -0800 2011
fwiw, I lowered this to "low" pri because I think testing performance is more or less under control now, but production performance needs to be a high priority for us. (which I think you were already implying)
--Ethan McCutchen.....Thu Jan 06 11:42:27 -0800 2011
Yes, exactly. I think it is well under control for testing and that focusing on test performance could have you doing things that are bad for production performance.
When I get the current branch more under control, I may want to try to generate new data and compare to Lew's data for trends and just to be sure nothing has gotten too far out from what it was.
So if you have any useful links on this, please share. Should we have another ticket for production performance, maybe?
--Gerry Gleason.....Thu Jan 06 13:12:11 -0800 2011
so...close this ticket and add another with the remaining stuff to do and this discussion?
--John Abbe.....Sun Jan 23 00:40:04 -0800 2011
Sounds right to me.
--Gerry Gleason.....Sun Jan 23 03:48:02 -0800 2011
--John Abbe.....Sun Jan 23 03:55:59 -0800 2011
So, what was actually done here? Just optimizing Card#save ?
--John Abbe.....Sun Jan 23 04:01:13 -0800 2011