Ich glaube die Frage ist schon "falsch"
Du kannst, um bei den Beispielen zu bleiben, db40 nicht 1:1 mit einer relationalen DB vergleichen, denn bei letzerer bekommst du ja zunächst nur Daten und musst diese erst wieder in deine Objekte reinbekommen (und aus diesen wieder in die DB). Wenn du dann noch Datenhaltung und Logik auch physisch trennst (DB und Anwendung auf unterschiedlichen Maschinen), wirds mit der Vergleichbarkeit noch komplizierter, weil du dann in der Arbeit mit db4o auf RMI o.ä. zurückgreifen musst.
Ist immer Äpfel mit Birnen zu vergleichen. Ist zwar beides Obst, aber das isses dann auch mit Gemeinsamkeiten..
Wenn ich mich recht entsinne ist db4o auch kommerziell und kostet pro eingesetzter Anwendung Lizenzgebühren. Letztens stolperte ich noch über JoSQL, was auch sehr nett zu sein scheint um SQL-Abfragen über Objekte laufen zu lassen.
http://josql.sourceforge.net/index.html
Grundsätzlich entscheidet sich glaube ich niemand rein aus Performance-Gründen für oder gegen eine relationale DB contra db4o, da das Anwendungsdesign in beiden Fällen doch stark unterschiedlich sein dürfte. Und ob eine vergleichbare Abfrage inkl. Instanz-Erzeugung für große Datenmengen nun bei der einen oder anderen Lösung Laufzeutunterschiede im einstelligen Bereich hat, ist in der Praxis in den meisten Fällen nicht relevant.
Wenn ich sehe wie schlecht manche SQL-Datenbanken aufbauen, den Server konfigurieren und die Abfragen gestalten, könnte man oft auch gleich mit flat files arbeiten
P.S.:
http://www.db4o.com/about/productinformation/benchmarks/