performancedata-bindingsubsoniccode-generation

For those of you using SubSonic, what kind of performance are you seeing in large applications?


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?


Solution

  • 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).

    Let’s 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, let’s 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 SubSonic's 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.