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
