views:

1002

answers:

4

Hi

I'm considering adopting .nettiers for a new project as it seems to provide a lot of functionality I could use.

Is anybody using it in anger (I'm getting the feeling it hasn't got the following it once had) and if so, what are your perceptions of it?

Also, I can't find any comparative performance metrics against things like SubSonic. Anybody have any strong feelings about its performance and scalability?

Many thanks

Tony

A: 

Look at this. It provides you with a good X vs Y comparison between the two of them.

A Key point that i always revise when selecting a framework to work with is:

Will this Simplify, Make me more Productive, if you answer "Yes of course" to this, it doesnt matter what other benchmarks say, even if it's 10% slower in running than SubSonic or even faster, you should go with the framework you develop the fastest and most that you are the most comfy in.

Filip Ekberg
I didn't see very much there. It's also a bit biased toward SubSonic. I thought the performance benchmark comment was a bit childish. Terrabytes of generated code?
BobbyShaftoe
I can't see how that is childish saying that he should go with the framework he likes the most, even if the benchmark says it's slower / faster. Why would that matter if it gives him better execution? You are focusing on the wrong things in my response.
Filip Ekberg
A: 

Look at this. It provides you with a good X vs Y comparison between the two of them

Thanks - I've already read this post before, but it's over two years old and both projects have advanced a great deal since then.

Asking whether or not a framework will make me more productive or not is a very important consideration, but it's not the only one.

Another for me has to be "am I going to lose potential productivity gains because the framework I adopt is full of bugs, nasty to use, or just a PIA?" which is why I asked if people are using it in anger and what their experience is.

If .nettiers is 10% slower than subsonic, but gives me a whole bunch more features (such as better validation, business rule enforcement etc) then I can live with that. If its ten times slower, then I'd not consider it.

Many thanks

Tony

eggheaddesign
My "10% slower"-comment has no ground really, was just an example, to clearify.However here are some user comments for you: http://ehs-it.net/blogs/jeanhibbert/archive/2008/09/23/subsonic-vs-nettiers.aspxI bet Subsonic is more updated and has a bigger user ground.
Filip Ekberg
I realised that the 10% was hypothetical. I wanted to demonstrate that relative performance does have a role to play, though, in making a decision. Not as big as many would have you believe, but important none the less
eggheaddesign
+1  A: 

When I used NetTiers, I was very happy with it to an extent. You really need to learn the best ways to use it. There were definitely some weird bugs, things that had arbitrary limits and so forth. You have to be careful with it but it can definitely improve your productivity if you learn. I know CodeSmith has started putting more resoucres in it. The version 2.3 might be very solid. Although, the latest current stable version may be pretty solid, I haven't used it in awhile.

Honestly, at this point I prefer LLBLGen. I did try SubSonic a couple times. I didn't run into major bugs but I ended up switching, in both cases, to NetTiers. With SubSonic I felt that I was just typing out way too many string literals and it just didn't feel as mature as other alternatives.

BobbyShaftoe
A: 

I had some time this afternoon to run a head to head comparison between netTiers and SubSonic.

I used code generated using SubStage (part of the SubSonic 2.1 release) and I used RepositoryRecord as my base class.

I ran the same test against the same database using code generated by .netTiers 2.2

The test was a derivative of the one that Rob Conery used in his post:

http://blog.wekeroad.com/blog/subsonic-scaling/

When i say derivative, I mean I just wrote 100,000 records into the database.

I repeated each test on the same PC three times.

I found that .netTiers accomplished the task in 90 seconds.

Subsonic completed it in 104 seconds.

There was no more than a one second deviation from these averages.

eggheaddesign