Well Piratos, if you're trying to say that ADOdb will use more memory than mysql direct, and consume less CPU, you will always be right, and there's no point discussing it. ADOdb is an abstraction library built on top of MySQL (and others), there's no comparison possible, and your problem is therefore to discuss the pros/cons of an abstraction layer over direct access to the DB.
What I can directly see is that using ADOdb :
- makes code cleaner (object model)
- makes db access more secure (no need for dirty mysql_escape_* code all the way)
- allows therefore to code much faster, concentrating on business code instead of SQL code
- allows integrating the database evolutions without having to change the code of your applications (direct success : MySQL 5, which adds a huge set of improvements, which would require you modify all your code to use them, while using ADOdb will make them available seemlessly)
- allows developing your application for several databases without core code modifications
These advantages are, for me, worth the overhead, having in mind that :
- ADOdb overhead is, in terms of algorithmic complexity, much less than twice native access, and, moreover, linear
- tweaking php.ini to add a little more memory is not that hard (granted it is not easy if you haven't direct access to the server)
- memory is cheap, much more than a developers' hours of hard work
- as CPU power increase, overhead will become less and less visible
- ADOdb exists as a PHP extension, pure C code, which allows you to have about 100% performance improvement
If these are not sufficient to you, the problem is that when you'll have tweaked things for ADOdb, you'll come to Smarty, where the problem is almost the same : having a template engine is wonderful in terms of abstraction and ease of development, but introduces an overhead to both CPU and memory usage. Then, as long as you will tweak, you're going to remove all that makes CMS easy to develop, document, and evolve.
Therefore, I'd rather work on algorithms improvements, cache tweaks and alternative data structures to make things better, but that's just my opinion
