Uh oh!
There was an error while loading. Please reload this page.
Advantage performance of Fetch/FetchAsync - #1121
Conversation
Change _rows-Queue from DbValue[] to object[] Store only object[]-Array Use single DbValue[]-Array Advantage: Less object creation, less Garbagecollector, performance increase up to 10%
matching override to gdsstatement version 10
BFuerchau
commented
Jul 14, 2023
How can i identify the failing test in the test source? |
cincuranet
commented
Jul 14, 2023
Not sure what you're asking. But you see the name of failing test(s) and with that you can check the code easily. |
BFuerchau
commented
Jul 14, 2023
Some tests fails: All tests with northwind fails when i use FB-Server 3.0.10, may be depends on my environment. But when i look at the logs in the attachd checks i find only one error:
|
BFuerchau
commented
Jul 18, 2023
What is the further procedure now? |
I have checked once more the error from the test (BigArrayTest): |
cincuranet
commented
Oct 1, 2023
Could you please modify the |
BFuerchau
commented
Oct 2, 2023
Are my changes rolled back? |
cincuranet
commented
Oct 2, 2023
You should modify this PR, preferably. |
Simplified to ReadRow(), ReadRowAsync()
Simplified to ReadRow(), ReadRowAsync()
BFuerchau
commented
Oct 2, 2023
Ok, i have updated the Patch-1 now (i was on the wrong patch before). Sorry for my questions. |
BFuerchau
commented
Nov 29, 2023
Why haven't any of my requests been taken into account? |
MartinKoeditz
commented
Jan 14, 2024
I think this is a interesting patch regarding performance. Would like to see it. |
BFuerchau
commented
Jan 15, 2024
First changes in FbDataReader: Second changes in GdsStatements (concerning garbage and object creation): Complete fork, based on 9.1.0: What do you like to know more specific? |
Now, i have found the tests within the sources and have corrected the ReadObject-Function with adding of DBNull.Value.
Some tests fails because of my current environment with parallel installations of 3 firebird versions.
E.g.: FirebirdSql.Data.Common.IscException : Database is probably already opened by another engine instance in another Windows session
Also i have understand how to use branch in the git.
The most advantage is the less object creation and less GC work during Fetch().
In case of FetchAsync(), which is always slower, the advantage may be less.