>> while( reader.Read() )
>> {
>> for( int j = 0; j < reader.FieldCount; ++j )
>> val=reader[j];
>> // table.Add(count, val);
>> ++count;
>> }
while( reader.Read() )
{
for( int j = 0; j < reader.FieldCount; ++j )
{
val=reader[j];
table.Add(count, val);
}
++count;
}
Perhaps you meant to do this?
--- "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:
> Hi there,
>
> Here I'm trying to save some miliseconds with the Firebird provider
> (using embedded database!)
>
> Well, I've a weird problem and I'd like you to take a look into it.
>
> Well, I'm using the following code to read data from a Firebird
> database:
>
> object val;
>
> while( reader.Read() )
> {
> for( int j = 0; j < reader.FieldCount; ++j )
> val=reader[j];
> // table.Add(count, val);
> ++count;
> }
>
> I'm reading 416310 records.
>
> Well, in my poor-slow laptop it takes 50 seconds to read all data.
>
> The "funny" thing is: did you see the commented out code? Well, it
> just
> adds the last read field from the record to a hash table. It doesn't
> make any sense, it is just a test case extracted from real code, so
> don't try to find any logic.
>
> Well, the point is: if I uncomment the line -> it takes 158 seconds to
>
> read the 416310 records!!!
>
> Ok, now you're thinking: yes, that's because adding to the hashtable
> is
> slow. Check the following code:
>
> Hashtable table = new Hashtable();
>
> int ini = Environment.TickCount;
>
> for( int i = 0; i < 416310; ++i )
> table.Add(i, new object());
>
> Console.WriteLine(
> "Time to add {0} objects = {1} ms",
> table.Count,
> Environment.TickCount - ini);
>
> It takes 250 ms (miliseconds!) to add the same number of dumb objects
> to
> the Hashtable!!
>
> So, somehow, adding records to the Hashtable breaks reader
> performance!!! I'm going crazy, and yes, I've repeated the results on
> a
> different computer with different OS and I get the same relative
> results!
>
> If you change the Hashtable by an ArrayList... performance hit goes
> away!!
>
> Ideas???
>
>
> Thanks
>
>
> pablo
>
>
-------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Firebird-net-provider mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Firebird-net-provider mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider