Hi All,

Our team is currently working on a WPF Desktop application with
ActiveRecord and SQLCE 3.5 for backend. We've been experiencing some
strange performance issues when executing queries or creating/updating
records. In some cases opening a form which has a few grids and data
elements that need to be populated, can take around 2 seconds!! This
is not very ideal on a desktop application. We did some testing and
found that given an extremely simple entity (2 string fields, no
associations), a call to Create() will take something like 300ms the
first time, and around 100ms the subsequent times. For a FindAll
(given there are only 5-6 rows in the table), the first call takes
around 200ms, and subsequent calls take around 80ms.  SQLite was
somewhat faster (in some situations around half the time), but SQL
Server was considerably faster; around 5-6 ms for queries and inserts
after the first call!

We dug a little further, the problem (amongst other things perhaps)
seems to be related to session creation and releases under the hood.
They seem to be quite slow for SQLCE and SQLite. For large sets of
data, performance seems to be similar to SQL Server which makes me
think the problem is not the execution of the query itself. But given
all sorts of caching and session management that happens between
ActiveRecord, NHibernate, and the database, I'm not quite sure where
the problem actually lies.

Is this sort of performance normal with SQLCE (and SQLite)? Are there
any tweaks that can be done to improve this? Somehow I would've
expected these to be faster than SQL Server, and certainly not 100+ ms
to perform a simple operation. Any hints or suggestions would be great!

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-devel?hl=en.

Reply via email to