Like i said, the "timer" is in SQL Profiler. In otherwords not in the
code, but i also have the following bits in there to compare.

            DateTime start = DateTime.Now;
            IList<Debiteur> lijst = session.CreateCriteria(typeof
(Debiteur)).List<Debiteur>();
            DateTime stop = DateTime.Now;
            dataGridView1.DataSource = lijst;


            MessageBox.Show((stop-start).Seconds +"."+ (stop-
start).Milliseconds);

Meaning i start the timer AFTER the session has been created, and
start the "query" if i am getting this. the NHibernate project atm
takes 26 seconds to do this (this is with another enitity added with
Lazyloading, without this entitity it was +- 21 seconds) EF does the
same action in +- 5 seconds. Which leads me to believe the problem
lies in the execution of the SQL.

On 12 aug, 14:07, Paco Wensveen <pac...@gmail.com> wrote:
> The sql is not executing slowly, the building of the sessionfactory is
> slow. Start your timer after buildsessionfactory and compare again.
>
> On Wed, Aug 12, 2009 at 2:01 PM, F.B. ten Kate<folk...@bluenode.nl> wrote:
>
> > Yes i am atm, since it's just a quit check to run a query, but would
> > this explain the SQL executing this slowly?
>
> > I know i'm not using any "best" practises and things, this is the
> > first thing im doing with both NHibernate and EF.
>
> > Here is the code running it.
>
> >            Configuration cfg = new Configuration();
> >            cfg.Configure();
> >            cfg.AddAssembly(typeof(Debiteur).Assembly);
>
> >            ISessionFactory factory = cfg.BuildSessionFactory();
> >            ISession session = factory.OpenSession();
>
> >            IList<Debiteur> lijst = session.CreateCriteria(typeof
> > (Debiteur)).List<Debiteur>();
>
> >            dataGridView1.DataSource = lijst;
>
> > On 12 aug, 13:22, Kim Johansson <hagbarddenst...@gmail.com> wrote:
> >> Are you creating a new SessionFactory each run? (SLOOOOOOOOOOOW!!!)
>
> >> You should use a single instance SessionFactory and just create new
> >> sessions.
>
> >> F.B. ten Kate wrote:
> >> > Hello there, im currently looking at some differences between both
> >> > ORM's and to get a good feel for both i try to query from one table
> >> > and simply drop all the data in a DataGridView.
>
> >> > Easy as pie right?
>
> >> > Now here is the different SQL's beeing generated
>
> >> > NHibernate:
>
> >> > "SELECT this_.Debiteur_ID as Debiteur1_0_0_, this_.Debiteurnaam as
> >> > Debiteur2_0_0_, this_.Entiteit_ID as Entiteit3_0_0_, this_.Sorteernaam
> >> > as Sorteern4_0_0_, this_.DatumWijziging as
> >> > DatumWij5_0_0_, this_.Actief_NeeJa as Actief6_0_0_ FROM tbl_Debiteur
> >> > this_"
>
> >> > Enitity Framework:
>
> >> > "SELECT
> >> > [Extent1].[Actief_NeeJa] AS [Actief_NeeJa],
> >> > [Extent1].[DatumWijziging] AS [DatumWijziging],
> >> > [Extent1].[Debiteur_ID] AS [Debiteur_ID],
> >> > [Extent1].[Debiteurnaam] AS [Debiteurnaam],
> >> > [Extent1].[Entiteit_ID] AS [Entiteit_ID],
> >> > [Extent1].[Sorteernaam] AS [Sorteernaam]
> >> > FROM [dbo].[tbl_Debiteur] AS [Extent1]"
>
> >> > Okay, so sofar EF wins in readability atleast but i dont intend to
> >> > actually look at the queries so i'm not worried.
>
> >> > I noticed that NHibernate was ALOT slower then EF, the reasons seemed
> >> > like a mistery to me so i ran SQL Profiler.
>
> >> > When i run the NHibernate project the query runs for a duration of
> >> > 19369 (milliseconds)
>
> >> > Then i run Enitity frame work which runs for a duration of 3621
> >> > (milliseconds)
>
> >> > (I clear caches between the different queries)
>
> >> > I then run the query in SQL Management Studio, The NHibernate has a
> >> > duration of 4291 (milliseconds)
> >> > I do the same for the Enitity framework which has a duration of 4291
> >> > (milliseconds)
>
> >> > Can anyone explain to me these durations? mostly the NHibernate time
> >> > when running it from application code is HUGE. Eventhough the SQL is
> >> > exactly the same...
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to nhusers@googlegroups.com
To unsubscribe from this group, send email to 
nhusers+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to