With a little change the reader will load data with GetValues(myValues) 30% 
faster
----------------------------------------------------------------------------------

                 Key: DNET-1038
                 URL: http://tracker.firebirdsql.org/browse/DNET-1038
             Project: .NET Data provider
          Issue Type: Improvement
          Components: ADO.NET Provider
    Affects Versions: 7.10.1.0
         Environment: Windows 10 20H2, Visual Studio 20H2, I7 2,6GHz, 16 GB 
Memory, Firebird 3.0
            Reporter: Baldur Fürchau
            Assignee: Jiri Cincura


I have loaded the Version 7.10.1.0 because the clr 4.8 is not available on all 
customers, but the improvement is also for the latest version.
In my little test i use generally the GetValues() from th FbDataReader to 
process all values the same time.
With the current version i get for a table with 90 columns an average of 8500 
rows per second.
The Micorosft SwlDatareader give me for the same table 10000 rows per second.

So I have checked the source for the GetValue()-Method:

                public override int GetValues(object[] values)
                {
                        CheckState();
                        CheckPosition();

                        var count = Math.Min(_fields.Count, values.Length);
                        for (var i = 0; i < count; i++)
                        {
                                values[i] = _row[i].Value; // CheckedGetValue(x 
=> GetValue(x), i);
                        }
                        return count;
                }

Because all checks are done you can directly load the row values.
With this only little change i get now 12000 Rows per Second and this is 20% 
faster than SQL Server.

An additional reason to use Firebird.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       


_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to