3 Replies Latest reply: Sep 24, 2013 4:42 PM by landyman RSS

    Managed vs Unmanaged ODP benchmarks


      Has Oracle published (or does anyone have) any performance benchmarks for the managed vs. unmanaged ODP.net drivers?

      Is there any performance benefit/penalty for moving to the unmanaged driver?

        • 1. Re: Managed vs Unmanaged ODP benchmarks



          If noone has benchmarks- can someone from the ODP team comment as to what our expectations for the managed driver should be?
          Should we expect performance less than, equal to, or better than the unmanaged driver?

          • 2. Re: Managed vs Unmanaged ODP benchmarks
            Alex.Keh .Product.Manager-Oracle

            The answer is YMMV. Some managed ODP.NET apps will be faster and some will be slower. It depends on what your ODP.NET code does.


            If ODP.NET were a car, it would be easier to provide a definitive performance measure. You drive the car in a straight line, which is generally how everyone operates a car.


            ODP.NET is an API. There are many ways to use the API: how to retrieve data, data types, how much tuning is done, data characteristics, inserts/updates/selects, distributed transactions, etc. Some operations in certain code paths are faster. Some are slower. How fast your app is depends on which code paths it uses and how frequently. There is no benchmark that can provide a representative idea of what you will ultimately see in your own app unless your app is almost exactly like the benchmark, but I've never found that to be the case.

            • 3. Re: Managed vs Unmanaged ODP benchmarks

              I have noticed SIGNIFICANT performance gains using Managed ODP.NET over Unmanaged - for my use cases. In particular, scenarios involving hundreds, or thousands of executions per second. This is due to not having to marshal back and forth between managed and unmanged code... I was literally blown away... also less idle connections to the DB which makes our DBAs happy, somehow the connection pooling seems better.