Hi all,

I'm still using provider 1.7 since we've to keep .Net 1.1 compatibility.

I'm checking performance and found out (running AQTime) that reading a 
big query with about 400K records in result, only 54% of time is spent 
doing the actual FbClient.isc_dsql_fetch, the rest of time is "wasted" 
doing marshalling, string conversions and so on.

So, I've tried to save some time (although I guess it has been already 
solved in the newest provider since I've found a better performance 
results there).

First thing I've tried was:

sqlda = marshaler.MarshalManagedToNative(this.db.Charset, fields);

Instead of running it on each call, try to keep it as a member field and 
only remove it on close.

It makes my query speed up from 126 seconds to 89 seconds (provider 2.5 
Alpha 2 takes about 78s)

Finally, one last question, this time about Descriptors, inside 
XsqldaMarshaler.MarshalNativeToManaged I see:


descriptor[i].Name       = this.GetString(charset, xsqlvar[i].sqlname);
descriptor[i].Relation = this.GetString(charset, xsqlvar[i].relname);
descriptor[i].Owner      = this.GetString(charset, sqlvar[i].ownername);

What are this Name, Relation and Owner fields used for?  (I mean, I'm 
just reading data with a reader and trying to speed up the process as 
much as I can)

Thanks all!

pablo

www.plasticscm.com

-------------------------------------------------------------------------
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

Reply via email to