Page 1 of 1

NpgSQL 2.0.8 v.s. dotConnect for Postgres 4.90 Performance

Posted: Mon 05 Apr 2010 23:51
by cjbiggs
Devart advertise that it perform better than Npgsql. I did a Proof of Concept to measure the performance. Npgsql peformance 4x faster compared to dotConnect 4.90 performance for Entity Framework support. I created an inventory application that query an external MS Access Database and import it into Postgres. Nqgsql complete the it in 17 seconds, while dotConnect for Postgres completes the same code in 1 minute and 7 seconds. I used the Entity Framework Profiler to for the performance test. The Profiler reported many query plan alerts where the Npgsql did not have any query plan alerts. Attached are the profiler files for each run.


Thanks,

Charlie J.

Posted: Tue 06 Apr 2010 13:46
by Shalex
Could you please send us your test project via our contact form with the "PostgreSQL EF performance" subject? We will investigate it and notify you about the results.

Posted: Tue 06 Apr 2010 14:45
by cjbiggs
Sorry. I cannot send you the test project because it is an internal proof of concept. But I can send you the Entity Framework Profiler log. You can get the program to open the log from http://efprof.com/

Posted: Thu 08 Apr 2010 12:25
by AndreyR
Please send the logs to support * devart * com, subject "EF Performance".

Posted: Thu 08 Apr 2010 16:01
by cjbiggs
I already did a couple of days ago. Based on the instruction from the previous post instructions.


Joined: 14 Aug 2008
Posts: 1636

Posted: Tue 06 Apr 2010 13:46 Post subject:

--------------------------------------------------------------------------------

Could you please send us your test project via our contact form with the "PostgreSQL EF performance" subject? We will investigate it and notify you about the results.

Posted: Fri 09 Apr 2010 13:54
by AndreyR
Thank you for the mail; we had some problems with the attachment.
We are investigating the performance logs.
I will let you know about the results of our investigation.

Posted: Fri 09 Apr 2010 15:29
by cjbiggs
Ok. Thanks. Please let my know if you need anything else. I do plan to re-run the same set of tests when .NET 4.0/EF 4 is officially release next week.

Thanks,

Charlie J.

Posted: Mon 19 Apr 2010 15:11
by cjbiggs
Any updates on the performance issues with EF4 and dotConnect for Postgres?

Thanks,

Charlie J.

Posted: Thu 22 Apr 2010 15:01
by cjbiggs
Any updates on the performance issues with EF4 and dotConnect for Postgres? I am a licensed user and need to know the status of this for the release of my product. If it is a quick fix, I will stick with devart, if it is a long fix I need to deploy with Npgsql.

Thanks,

Charlie J.

Posted: Sun 25 Apr 2010 22:11
by cjbiggs
Any updates on the performance issues with EF4 and dotConnect for Postgres? I am a licensed user and need to know the status of this for the release of my product. If it is a quick fix, I will stick with devart, if it is a long fix I need to deploy with Npgsql.

Thanks,

Charlie J.

Posted: Tue 27 Apr 2010 11:59
by AndreyR
Thank you for the inquiry, we have found the performance problems.
Our investigation is in progress, I will let you know about the results as soon as possible.

Posted: Tue 27 Apr 2010 12:40
by AndreyR
The main reason of the performance problems is the parameters binding and other peculiarities of the 3.0 protocol.
Try adding "Protocol=2;" to the connection string, this should increase the performance greatly.

Posted: Tue 27 Apr 2010 19:15
by cjbiggs
Changing the Protocol parameter in the ConnectionString from 3 to 2 improved the performance. From this forum post I though Devart had fixed the issues with Protocol=3
http://www.devart.com/forums/viewtopic. ... e21c1456a8

It talks about using an UnpreparedExecute parameter in the ConnectionString. I am using Postgres 8.4.x and would like to continue to use Protocol 3 with Devart.

So Npgsql using Protocol=3 does my import in 19 secs (17 secs using Protocol=2) and Devart using Protocol=3 does it in 75 secs and Devart using Protocol=2 does it in 19 secs.

Can I get good performance using Protocol=3 with dotConnect for Postgres without switching to Protocol=2? I just want it to be the same as what I am getting using Npgsql. I am trying to switch my applications from using Npgsql to using devart for dotConnect since EF 4 features are not implemented in the current Npgsql 2.0.9.

Posted: Tue 27 Apr 2010 20:54
by cjbiggs
I also found this article as well on the forum
http://www.devart.com/forums/viewtopic. ... redexecute