# Wisdom from performance testing Ignition

**URL:** <https://forum.inductiveautomation.com/t/wisdom-from-performance-testing-ignition/114769>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [March 30, 2026, 3:00pm UTC](https://forum.inductiveautomation.com/t/wisdom-from-performance-testing-ignition/114769 "2026-03-30T15:00:41Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [March 30, 2026, 6:24pm UTC](https://forum.inductiveautomation.com/t/wisdom-from-performance-testing-ignition/114769/12 "2026-03-30T18:24:29Z")

</div>

> [@kayla.hebert](#):
>
> However, I am new to Ignition, so I would like to be able to see how my code operates within the more complex JVM.

Optimizing perspective is tricky. Almost everything that happens is executed on the gateway, so things you wouldn't expect can have an impact. If you're running your DB on the same machine as the Gateway, or using VM's and not insuring that your Hpyervisor is configured correctly, you can see poor performance.

I would avoid storing large datasets in a tag. Databases are built for that type of workload, and in my experience there is no performance gain here. I am not suprised that you haven't seen much if any impact here.

Also, rember that Ignition uses Jython, and many times where outside of Ignition you would use a python package to accomplish some things, inside of Ignition there is almost always a Java alternative. This also means that there are some optimizations that have been builtin. For instance `chartComponent.chart` is more performant than `chartComponent.getChart()`.

Here is a link to a post with some good information:

> [@Building for Performance](https://forum.inductiveautomation.com/t/building-for-performance/71082/3):
>
> In this example, #3 is the most performant, though it could be argued that the performance gain in this instance would be negligible. Anytime you add an additional processing step you add latency. In general for the best performance I follow these guidelines: If you can achieve what you want with a binding, use a binding. Always use the binding type that is the most direct. (e.g. if all you need is a binding to a property use a property binding, not an expression binding.) Given the choice b…

---

_[View the full topic](https://forum.inductiveautomation.com/t/wisdom-from-performance-testing-ignition/114769)._
