I realize this is a quite general question, but I am wondering about the performance impact of implementing business logic with WF contra imperative code in fairly large enterprise system. I would like to hear others experiences in this regard.
Windows Workflow Foundation (WWF or WF) is a framework for creating and managing workflows within . NET applications. It treats each step of a process as an activity, working with a . NET library of activities and adding custom activities for other kinds of functionality.
Windows Workflow Foundation - . NET Framework | Microsoft Learn. This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
While it isn't dead, it certainly isn't thriving. WF is tied to . NET Framework, which in turn is tied to the Operating System. WF will last until it's Framework reaches end of life; so it'll continue to receive security updates and occasional bug fixes, but it won't get any new features.
You can check Performance Characteristics of Windows Workflow Foundation for key performance considerations and modeling guidelines that are important when developing applications on top of the Windows Workflow Foundation.
However I would suggest to wait for the WF 4.0 announcement at PDC (end of October) since they are promising
Significant improvements in performance and scalability (Ten-fold improvement in performance)
EDIT (after PDC, 11Nov08):
OK, not much revealed about performance at PDC, although Kenny Wolf said in his talk that there are 10-100X performance improvements from execution speed to persistence sizes.
Moreover, Rick Garibay posted some post-talk discussions with Kenny Wolf here. I am copying a relevant passage:
My first question was around the impetus for such a major overhaul. Kenny shared that they focused very, very deeply on key customer requests and opportunities based on earlier versions of the framework. There were 3 feature types that resonated most. First, is delivering a truly model-based framework that allows every aspect of the WF to be represented declaratively. Second, was being able to truly participate in the repository ecosystem, which is key for deployment, management and operations scenarios. And last, but not least was performance.
Earlier in his talk, Kenny cited intriguing improvements, including 10x to 100x performance improvements and persisted workflows becoming essentially "free" with WF 4.0. In our more one-on-one discussion after his talk, he used the analogy of swinging at a baseball with a wooden baseball bat. While the wooden baseball bat is effective, it feels a bit heavy, if not clunky at times. When you pick up an aluminum baseball bat, it is markedly lighter, and feels significantly more aerodynamic. WF 3.0 and 3.5 work, but WF 4 is a new and improved aluminum baseball bat.
I once did some benchmark about WF performance. It turns out that "declarative condition" is pretty slow. I believe that it is due to a lot of reflection is done in the process.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With