ADODB performance problem
Hi All, (Win10, Win11)
To highlight a performance problem (with ADODB/ACCESS), on a heavy client, I wrote two small programs one in VB.NET (and VBA), the other in CPP/MFC. Using the same component (msado15.dll).
This piece of code does nothing but connect to two ACCESS files (with a single table of 15,000 records), and via a recordset copy from one database to the other.
Under VB.NET, it takes 1 second.
Under CPP, on a machine that has the runtime access 2013 x64, it takes 9 seconds. (i spend 99% of my time in AddNew() )…
Under CPP, on a machine that has the runtime access 2016 x64 OR Office365, it takes 20 minutes. (i spend 99% of my time in AddNew() )…
The target computer must have Office365…
I need an issue…
PS : My two sln (exe/cpp/…) are available…There is no sensitive data…
A short running test…
|Nom de la fonction|Total [unit, %]|Self [unit, %]|Nombre d’appels|Module|
|-|-|-|-|-||*+*D:\users\phili\Downloads\Test_ADO_Cpp_VB\test_minimal\x64\Release\test.exe (PID : )|115,73s (100,00*%)|0ns (0,00*%)|0|Plusieurs modules|
||*+*__report_gsfailure|115,73s (100,00*%)|9,20?s (0,00*%)|1|test|
|||*+*__scrt_common_main_seh|115,73s (100,00*%)|13,20?s (0,00*%)|1|test|
||||*+*main|115,73s (100,00*%)|654,83ms (0,57*%)|1|test|
|||||*-*[Native] msado15.dll!0x00007ffe8947bc40|104,82s (90,58*%)|104,82s (90,58*%)|6215|msado15| <= AddNew() !!!
|||||*-*[Native] ucrtbase.dll!0x00007fff373ccad0|9,31s (8,05*%)|9,31s (8,05*%)|1|ucrtbase|
|||||*-*ADODB::Connection15::Open|413,29ms (0,36*%)|8,80?s (0,00*%)|2|test|
|||||*-*[Native] msado15.dll!0x00007ffe8947c010|101,83ms (0,09*%)|101,83ms (0,09*%)|2|msado15|
|||||*-*printf|96,90ms (0,08*%)|157,30?s (0,00*%)|214|test|
|||||*-*[Native] msado15.dll!0x00007ffe8947d3d0|91,69ms (0,08*%)|91,69ms (0,08*%)|74568|msado15|
|||||*-*[Native] msado15.dll!0x00007ffe8947d380|50,46ms (0,04*%)|50,46ms (0,04*%)|74568|msado15|
|||||*-*[Native] msado15.dll!0x00007ffe894d8fc0|30,92ms (0,03*%)|30,92ms (0,03*%)|149136|msado15|
|||||*-*[Native] msado15.dll!0x00007ffe8947bfc0|28,68ms (0,02*%)|28,68ms (0,02*%)|6214|msado15|
|||||*-*[Native] combase.dll!0x00007fff39403f10|26,94ms (0,02*%)|26,94ms (0,02*%)|5|combase|
|||||*-*[Native] msado15.dll!0x00007ffe89513fc0|17,39ms (0,02*%)|17,39ms (0,02*%)|149137|msado15|
|||||*-*[Native] msado15.dll!0x00007ffe894c1480|15,11ms (0,01*%)|15,11ms (0,01*%)|1|msado15|
|||||*-*[Native] msado15.dll!0x00007ffe8947c230|14,46ms (0,01*%)|14,46ms (0,01*%)|149137|msado15|
|||||*-Native]msado15.dll!0x00007ffe8947d2b0|11,32ms,01*%)|11,32ms,01*%)|149136|msado15|
Regards
Hi All, (Win10, Win11)To highlight a performance problem (with ADODB/ACCESS), on a heavy client, I wrote two small programs one in VB.NET (and VBA), the other in CPP/MFC. Using the same component (msado15.dll).This piece of code does nothing but connect to two ACCESS files (with a single table of 15,000 records), and via a recordset copy from one database to the other.Under VB.NET, it takes 1 second.Under CPP, on a machine that has the runtime access 2013 x64, it takes 9 seconds. (i spend 99% of my time in AddNew() )…Under CPP, on a machine that has the runtime access 2016 x64 OR Office365, it takes 20 minutes. (i spend 99% of my time in AddNew() )…The target computer must have Office365…I need an issue…PS : My two sln (exe/cpp/…) are available…There is no sensitive data…A short running test…|Nom de la fonction|Total [unit, %]|Self [unit, %]|Nombre d’appels|Module||-|-|-|-|-||*+*D:\users\phili\Downloads\Test_ADO_Cpp_VB\test_minimal\x64\Release\test.exe (PID : )|115,73s (100,00*%)|0ns (0,00*%)|0|Plusieurs modules|||*+*__report_gsfailure|115,73s (100,00*%)|9,20?s (0,00*%)|1|test||||*+*__scrt_common_main_seh|115,73s (100,00*%)|13,20?s (0,00*%)|1|test|||||*+*main|115,73s (100,00*%)|654,83ms (0,57*%)|1|test||||||*-*[Native] msado15.dll!0x00007ffe8947bc40|104,82s (90,58*%)|104,82s (90,58*%)|6215|msado15| <= AddNew() !!!|||||*-*[Native] ucrtbase.dll!0x00007fff373ccad0|9,31s (8,05*%)|9,31s (8,05*%)|1|ucrtbase||||||*-*ADODB::Connection15::Open|413,29ms (0,36*%)|8,80?s (0,00*%)|2|test||||||*-*[Native] msado15.dll!0x00007ffe8947c010|101,83ms (0,09*%)|101,83ms (0,09*%)|2|msado15||||||*-*printf|96,90ms (0,08*%)|157,30?s (0,00*%)|214|test||||||*-*[Native] msado15.dll!0x00007ffe8947d3d0|91,69ms (0,08*%)|91,69ms (0,08*%)|74568|msado15||||||*-*[Native] msado15.dll!0x00007ffe8947d380|50,46ms (0,04*%)|50,46ms (0,04*%)|74568|msado15||||||*-*[Native] msado15.dll!0x00007ffe894d8fc0|30,92ms (0,03*%)|30,92ms (0,03*%)|149136|msado15||||||*-*[Native] msado15.dll!0x00007ffe8947bfc0|28,68ms (0,02*%)|28,68ms (0,02*%)|6214|msado15||||||*-*[Native] combase.dll!0x00007fff39403f10|26,94ms (0,02*%)|26,94ms (0,02*%)|5|combase||||||*-*[Native] msado15.dll!0x00007ffe89513fc0|17,39ms (0,02*%)|17,39ms (0,02*%)|149137|msado15||||||*-*[Native] msado15.dll!0x00007ffe894c1480|15,11ms (0,01*%)|15,11ms (0,01*%)|1|msado15||||||*-*[Native] msado15.dll!0x00007ffe8947c230|14,46ms (0,01*%)|14,46ms (0,01*%)|149137|msado15||||||*-Native]msado15.dll!0x00007ffe8947d2b0|11,32ms,01*%)|11,32ms,01*%)|149136|msado15|Regards Read More