I'm using version 4.1. I've recently started supporting Oracle in addition to SQL Server and I'm finding that Oracle (ODP.NET) is far slower than SQL Server for the same operations. I have not worked extensively with ODP.NET so I'm trying to figure out if this is a normal issue with the database or with the driver or something else going on. I'm testing against Oracle 12 XE running locally. It doesn't seem like the server is straining but I don't really know anything about Oracle server configuration or tuning. (I've also tested against an Oracle 21 cloud ATP database, which gives slightly slower performance due to the slowish network connection.)
For example, I have a fetch that returns all 180 records in a table plus a lot of relations using prefetch--about 55 queries total. For Oracle, ORMProfiler shows DB time of 16,246ms and .NET time 29,842ms. The same operation against a SQL Server database that has the same data takes about 1,600ms DB time and 1,800 .NET time. Both databases have the same indexes, and anyway there is not much data in the tables (<200 rows in any table).
A few queries are showing 5 seconds of DB time but execute in <200ms in SQL Developer.
Another query shows 1.89ms in DB time and 21,000ms in .NET time. The query returns 142 rows with 20 columns that are mostly numbers and short strings. In SQL Server it's as fast as you would expect it to be, so it doesn't seem like it's LLBLGen being slow merging the results
In addition to ORMProfiler I did some profiling in ANTS and it does seem like most of the time is being eaten up inside the database driver--so it doesn't really seem like an LLBLGen problem.
Anyone have suggestions on what to look at?