Any probable performance hits ??

Aug 8, 2014 at 12:53 PM
The work you have done is truly commendable. I have taken it straight and it works as explained.
My project is going to be large one with over 300-400 viewmodels. And we can count number of properties and commands which will be registered.
Using reflection is known to have some performance hits. While browsing through MSDN mentioned there could be light and heavy performance hits based on nature of implementation. Should we avoid it for large scale projects ?
Since you have used the code in production, if you have any tips or advice please let me know.
Aug 8, 2014 at 2:42 PM
Hey there,

It has been years since I have used this library, but when we did use it, it worked REALLY well for us. We had the same concern, that reflection and dynamic "method missing" approach. But we did use this on two large-scale WPF apps and one medium-sized Silverlight app and this base class never caused any measurable problems.

The reason, if I recall correctly, is that the role of the ViewModel is to reflect changes between the model and the UI. An expensive reflection (1 ms?) is in-perceivable to the user. We did figure that if we have a single form with LOTS (100?) of inputs, this could potentially be a problem, but we never came close to that limit. Also, since the XAML-based frameworks use a "property notification" mechanism, only things that change run through the reflection system. If it were more like Angular.js with its digest cycle, I'd be really worried.

In the end, our performance issues were always around database calls and flashy UI affordances. I can't recall a single time where we blamed our perf issues on the dynamic, reflection-based VM base. If we had, it would still likely be isolated in a single view model, in which we could have chosen a different architecture for it.

I'd add that I haven't used or thought about this project in at least 2 years. Most of my work lately has been in the SPA web space. If you want to make changes, own it, etc, I'd be happy to add you as a maintainer of the project.

LMK if I can be of any further help,
Aug 9, 2014 at 3:43 AM
U r a life saver. Thanks for your prompt and detailed reply :)
I am no more unnerved over performance. I have already put it in use and would keep a keen eye on performance and other aspects. In case I stumble on any block I would try and solve it and then update you as well.
I would be happy to be associated in any role with this great work of yours. So if u could add me as a maintainer it would be my pleasure. But yes, please keep on the good work u r doing. The work u have done, and sharing it has helped me and my team a lot.