Is it better to write a new workflow engine or to use an existing BPM engine: jBPM 5, Activiti 5?
My application is a web based application and performance is important. My doubt is whether using jBPM/Activiti will be a performance overhead compared to writing a simple workflow engine.
If I go with self implementation, I will miss visualization of workflow. For performance it can be traded.
This really depends on your requirements. First, see if you really need a workflow engine (this or other sources). Unless you really need it, probably you should avoid it.
If you really need what provides a workflow engine, I would pick one that is already built. People who works with jbpm or activiti have much more experience than you in building workflow engines, so it is probably already tunned to improve performance.