How does LLBLGen Pro deal with performance

Posts   
 
    
rodri
User
Posts: 8
Joined: 23-Apr-2007
# Posted on: 23-Oct-2007 05:05:47   

hello everyone

I have an issue that's going on around my head these days, I'd like to know how llblgen pro deals with performance issues, for example when having an entity wich has various child collections, and these ones have also their own children, how does the internal logic retrieves this information when is accessed? or when you call an entity-property does it exist any database call?. I heard that the mapper does a well done job with data caching to avoid latency times and annecesary db calls, but I'd like to know it from you guys.

any technical article or maybe a self experience?

best regards

daelmo avatar
daelmo
Support Team
Posts: 8245
Joined: 28-Nov-2005
# Posted on: 23-Oct-2007 05:49:34   

Hi Rodri

rodri wrote:

hello everyone

I have an issue that's going on around my head these days, I'd like to know how llblgen pro deals with performance issues, for example when having an entity wich has various child collections, and these ones have also their own children

There's a nice explanation at LLBLGenPro Help - Using generated code - Adapter - Prefetch paths - Using prefetch paths, the basics - Optimizing prefetch paths.

rodri wrote:

how does the internal logic retrieves this information when is accessed? or when you call an entity-property does it exist any database call?.

This depends upon the template set you are using (Adapter or Selfservicing). From your previous posts I assume you are using Adapter.

Adapter don't hit a query when you reference a property, Selfservicing do. However there's various ways to tunning that if you want. For information about the difference and the work behind template sets, please read: LLBLGenPro Help - Concepts - Templates and Template Groups - Included template files.

rodri wrote:

I heard that the mapper does a well done job with data caching to avoid latency times and annecesary db calls, but I'd like to know it from you guys.

Behind the scenes LLBLGenPro do a good work performing DB calls, so is up to developer to write a good code.

rodri wrote:

any technical article or maybe a self experience?

In my own experience, LLBLGenPro gives me at lest the same performance as if I wouldn't use it. Many things perform even better. There's a lot of threads discussing the better code approach to certain tasks.

David Elizondo | LLBLGen Support Team
rodri
User
Posts: 8
Joined: 23-Apr-2007
# Posted on: 23-Oct-2007 21:19:26   

Thanks a lot. Well about the template, I'm using SelfServicing and I have looked on the help file, I think I should take care when calling properties and child properties.

I'm afraid that I have already developed an application and I should take a deeper look to the database access.

regards

Walaa avatar
Walaa
Support Team
Posts: 14995
Joined: 21-Aug-2005
# Posted on: 24-Oct-2007 13:09:39   

I'm using SelfServicing and I have looked on the help file, I think I should take care when calling properties and child properties.

One important rule of the LazyLoading used in SelfServicing is that: Once loaded, the entity is not loaded again Of-cource unless you have instructed it to do so. Please read the Load on demand/Lazy loading section in the LLBLGen Pro manual, under "Using the generated code -> SelfServicing -> Using the entity classes"