views:

813

answers:

5

I've used SubSonic in a few POC projects, but nothing large. It's so easy to use, and it's possible to abstract away the fact that it uses the active record pattern (can move it toward a more domain driven approach).

Has anyone on here used SubSonic on larger applications, and what kind of performance did you witness? Was your experience worth it overall?

+1  A: 

I have only worked with SubSonic a little bit, but the application that I was working on after a while we started to see performance degradation, and in the end we were forced to start migrating to using specific optimized Stored Procedures for some data calls, as the automatic items generated by SubSonic were not meeting the needs. However, everything worked well in the end.

Mitchel Sellers
+1  A: 

I made an eCommerce web app using Subsonic and .NET 2.0. I'd say it's pretty good. The app wasn't very big (10k lines of code). I was a little naive back then when I did this project, and jumped into the deep end before I was ready, so any performance issues are likely down to me, not the software.

It's a good tool though. Great support, powerful, time saving, etc.

+4  A: 

We must not fear the goog:

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

jfar
+1  A: 

SubSonic is a tool and you have to use it wisely. when you have a large application then you have put in caching and you have to make sure that you close the IDataReader if you use them.

Yitzchok
+1  A: 

I have used SubSonic on a number of my projects and would argue that SubSonic scales exceptionally well. SubSonic like most technologies can be used for good or evil.... Say for example you have some table on a page with a gazillion columns and gobs of rows. You could write a Stored Procedure to get the data (SubSonic creates wrappers around all of your stored procedures), you could create a View in the Database so that if your DB is smart it can optimize the views performance (SubSonic creates a class for each of your Views as well as Tables).

Lets say you use a view and don't want any of the overhead of a collection of objects, with Subsonic you can just get an IDataReader for your View(If that isn't fast enough for you I don't know what is).

On the other hand lets say in the same app you also have 5 or so tables with only 3-4 columns and 10 or so rows used for administration and configuration. You can now use one of SubSonics nifty controls (namely the Scaffold control) which will create a GridView with built in Edit/Add/Delete/Sorting functionality for the table by just dropping it on the page.

SubSonic has a lot of time saving functionality built into it and when you want to do it your way(every now and then we all say my way or the high way!), SubSonic will allow you to do it your way.

runxc1 Bret Ferrier