Pet Shop

Posts   
 
    
Chester
Support Team
Posts: 223
Joined: 15-Jul-2005
# Posted on: 15-Jul-2005 22:52:34   

After evaluating several different solutions, we're just about ready to pull the trigger on buying LLBLGen Pro. We're very impressed with what we can do with it. I'll probably have more questions after we purchase, but one I wanted to ask before we do is this...

Have you guys done any benchmark testing with this framework, like a port of the "Pet Shop" app or something similar? Along those lines, is anyone using a framework generated by LLBLGen Pro in an Enterprise line-of-business type app? I'm more concerned with scalability than I am with performance.

TIA,

Todd

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39933
Joined: 17-Aug-2003
# Posted on: 16-Jul-2005 14:43:29   

Uh, wrote:

After evaluating several different solutions, we're just about ready to pull the trigger on buying LLBLGen Pro. We're very impressed with what we can do with it. I'll probably have more questions after we purchase, but one I wanted to ask before we do is this...

Thanks! smile

Have you guys done any benchmark testing with this framework, like a port of the "Pet Shop" app or something similar?

We've ported the petshop app, it's available on the demo download page, though we didn't do any benchmarking with that, as the numbers would have been pretty bogus anyway, as benchmarks are only somewhat useful if the hardware used is the same for all tested apps. Furthermore, the petshop app isn't a very useful example for benchmarking, as the MS app has become completely unmaintainable rubbish code due to the farfetched optimization.

We profile our code on a regular basis to eliminate bottlenecks in the framework. At the moment we're pretty confident the code is performing very well and offers more than one way to achieve things. Especially that last point is important for teh developer to choose the right option: subqueries (FieldCompareSetPredicate) or joins (relations in a relation collection), use a prefetch path, or fetch when appropriate ?

Along those lines, is anyone using a framework generated by LLBLGen Pro in an Enterprise line-of-business type app? I'm more concerned with scalability than I am with performance.
Todd

LLBLGen Pro is used by a lot of the fortune 50 companies and in more than 50 countries. The largest application I know it is used in has over 2500 tables, but there might be even bigger applications.

Which type of scalability is your interest in? ('is it able to scale up to more database systems, can it be used in a cluster? what if the db is increased by 1TB a day? what if the middle tier runs on a farm of servers?')

Frans Bouma | Lead developer LLBLGen Pro
Chester
Support Team
Posts: 223
Joined: 15-Jul-2005
# Posted on: 18-Jul-2005 20:53:13   

We've ported the petshop app, it's available on the demo download page, though we didn't do any benchmarking with that, as the numbers would have been pretty bogus anyway, as benchmarks are only somewhat useful if the hardware used is the same for all tested apps. Furthermore, the petshop app isn't a very useful example for benchmarking, as the MS app has become completely unmaintainable rubbish code due to the farfetched optimization.

Good point about the hardware. I saw another company actually profile their framework by comparing their version of the Pet Shop app versus the MS version, run on the same hardware, which is why I asked. It seemed like it was a huge effort though on their part, and it was comforting enough for me to hear that LLBLGen Pro is used in some big enterprise situations. Perhaps I'm too trusting, but then "cold hard facts" can always be manipulated, so there's always a level of trust happening.

Which type of scalability is your interest in? ('is it able to scale up to more database systems, can it be used in a cluster? what if the db is increased by 1TB a day? what if the middle tier runs on a farm of servers?')

To be honest, I hadn't thought it through to that degree! Although I ask about "the Enterprise", only one of our client's applications runs in the Enterprise, and even then, though it is a global app, there are probably never more than 30 concurrent users. So I really was trying to do due diligence here before we jump on board and make sure we're not investing in a really slick looking framework that will support about 5 concurrent users - competing right there with Microsoft Access.

We didn't bother to do any performance testing ourselves. But we did a decent amount of putting the generated code through its paces to make sure we could handle things like transactions, concurrency, and business rules (data integrity and constraints).

And the bottom line is that I've got the credit card in front of me right now...

Chester
Support Team
Posts: 223
Joined: 15-Jul-2005
# Posted on: 18-Jul-2005 20:56:54   

And one more thing, we did all our testing in VS.NET 2005 without any problems if anyone cares.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39933
Joined: 17-Aug-2003
# Posted on: 19-Jul-2005 11:35:52   

Uh, wrote:

We've ported the petshop app, it's available on the demo download page, though we didn't do any benchmarking with that, as the numbers would have been pretty bogus anyway, as benchmarks are only somewhat useful if the hardware used is the same for all tested apps. Furthermore, the petshop app isn't a very useful example for benchmarking, as the MS app has become completely unmaintainable rubbish code due to the farfetched optimization.

Good point about the hardware. I saw another company actually profile their framework by comparing their version of the Pet Shop app versus the MS version, run on the same hardware, which is why I asked. It seemed like it was a huge effort though on their part, and it was comforting enough for me to hear that LLBLGen Pro is used in some big enterprise situations. Perhaps I'm too trusting, but then "cold hard facts" can always be manipulated, so there's always a level of trust happening.

Well, it's hard to win from the MS implementation, as that implementation is solely build for speed. Everything is optimized and only for that small database as well. For example: they pull the complete product catalog into memory (and cache it in asp.net cache) and work from there. That's of course silly if you have a lot of products. Though for this small app, it works. They have pre-fabricated all queries which can take place, and if you extend the app to do something else as well, it falls apart. So I don't think it's that useful to benchmark against the MS app. simple_smile

Which type of scalability is your interest in? ('is it able to scale up to more database systems, can it be used in a cluster? what if the db is increased by 1TB a day? what if the middle tier runs on a farm of servers?')

To be honest, I hadn't thought it through to that degree! Although I ask about "the Enterprise", only one of our client's applications runs in the Enterprise, and even then, though it is a global app, there are probably never more than 30 concurrent users. So I really was trying to do due diligence here before we jump on board and make sure we're not investing in a really slick looking framework that will support about 5 concurrent users - competing right there with Microsoft Access.

hehe simple_smile I can imagine simple_smile .

We didn't bother to do any performance testing ourselves. But we did a decent amount of putting the generated code through its paces to make sure we could handle things like transactions, concurrency, and business rules (data integrity and constraints). And the bottom line is that I've got the credit card in front of me right now...

Thanks! smile

Frans Bouma | Lead developer LLBLGen Pro