Piranha;10897952 wrote:Performance of frameworks is not important, it is easily boosted with better hardware. And hardware is really cheap.
The important thing is how much development time it saves, both for the new script and changes when it is finished.
I'm not sure I entirely agree here. It's very dependent on what kind of application you're making as to whether or not hardware is cheap. If I need a pair of $50,000 servers to handle the load of a large site without the framework, and I need a pair of $250,000 servers to handle the load with the framework, then hardware is not so cheap.
Admittedly, those situations are rare, but they do occur, and when they do, an efficient framework is essential.
Last job I had we were running about 600 requests per second, all the time, and someone made a change in how the framework was accessing the database and we went from 200 ms to run a query to 2.5 seconds. The results, if the change had gotten to production, would have been disasterous. Luckily we caught it in testing.
It's a balance. No one wants to hamstring a 40 man development team by torturing them with lots of SQL, but they need a framework that's efficient enough that they don't have to worry about killing the db server with what seems like a simple query. Being able to step outside the framework, like hibernate allows, is essential for certain tasks which the framework can't handle efficiently.
We also had an update process at the last job that ran in pure ORM mode and took 15 hours to run. The dbas took a look at it, wrote one query, and it ran in about 10 minutes. If we hadn't had the ability to throw regular SQL at the db through hibernate we'd have been stuck with a 15 hour update process that hogged a LOT of db bandwidth and middle tier CPU.