What uses less resources on NetSuite? Suitescripts or Workflows?
Which customization uses the least resources on NetSuite’s performance? Suitescripts or Workflows? We have a set number of Workflows for our Sales Order Records and are wondering if converting them to Suitescripts would make the creation and view processes of the Sales Orders faster.
I’m not sure there is a way to know this without some thorough experimentation on your part. It’s certainly not documented anywhere. Workflows are just a UI for SuiteScript; when you save a Workflow, SuiteScript is generated for you behind the scenes, so the primary differences are mostly going to show up in the opimization of the generator’s SuiteScript versus your own.
I’m not sure there’s any difference on the NetSuite side between loading up a Workflow and loading a Script because they’re essentially the same.
At any rate, I never advocate trying to optimize performance too early. I wouldn’t worry about it unless you can definitively prove there is a significant difference causing your users noticeable pain. Here’s a video I did with Matt Dahse discussing other Workflow vs Script considerations: https://www.youtube.com/watch?v=DfoiE_0yNVg
In the past we had NetSuite look at our performance levels and they came back recommending to switch some of the Workflows running on transactions to be switched to a Script and they provided data on how many secs it would save for each record. NetSuite performs slow by Nature but you can also try to look at some of the Performance within your NetSuite instance.
There is a bundle that allows you to see this in NetSuite and you can decide upon that data. Performance Logs and SuiteScript Analysis will provide all that detailed information. Although as Eric mentioned, I would not worry too much, it is a wide spread issue that everyone faces and most efforts don’t make a whole lot of difference.
If you can do what you want with a workflow, unless you have a big scripting shop/depth-of-knowledge where it’s overwhelmingly easier to do scripting than workflows, stick with your workflows. IME scripts tend to run afoul of issues due to hotfixes/upgrates waaaay more than workflows. So you’ve got to factor in that additional time to get that panicked ticket after a new release, update the script, and resolve lingering record issues. Plus administration is a lot easier if you don’t have scripting resources when you inevitably want to make changes.
Performance-wise, I think that SS 2.0 might have a slightly smaller footprint if you make everything exactly the same, but:
- Performance is typically a secondary consideration as @Eric Grubaugh mentioned and I alluded to above.
- Your script will almost never be *exactly* the same as a workflow, so it’s hard to make an apples to apples comparison anyway. Things like logging, transitions, and other elements really don’t translate 1:1.
If performance is really an issue, I’d look at optimizing your existing workflows first before I jumped to scripting. NetSuite support might be able to help in this regard, and they have the added benefit of being able to see a bit more on the performance side than us simple users can.