9.1. Development and Production Environments
The first and most obvious factor affecting Rails performance is the Rails environment the application is running in (the three standard environments being development, production, and testing). Rails' development mode is ideal for when you're actively making changes, but performance is sacrificed. The reason is that in development mode, Rails is aggressive about reloading almost everything with every request. That means you can change the database schema, models, controllers, and views, and have your change instantly reflected on the next browser refresh.
In the production environment, Rails is optimized for speed: changes to your code aren't automatically reloaded, nor is the database schema. That makes for a huge difference in the application's performance, so if your application feels sluggish during development, withhold judgment until you switch to the production environment (from the system command line, run RAILS_ENV=production script/server, but remember to configure a database in database.yml for the production environment first). Even if the application is still running on your local development machine, you'll get a truer picture of what the deployed performance will be like.