# Slow Expression Tags

**URL:** <https://forum.inductiveautomation.com/t/slow-expression-tags/99527>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [December 6, 2024, 3:13pm UTC](https://forum.inductiveautomation.com/t/slow-expression-tags/99527 "2024-12-06T15:13:39Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 21, 2026, 8:05pm UTC](https://forum.inductiveautomation.com/t/slow-expression-tags/99527/14 "2026-02-21T20:05:45Z")

</div>

> [@Kishan](#):
>
> runscript functions as little as possible?

Yes. Where you must use them, you should time them with `java.lang.System.nanoTime()` and log when \>5ms. So you can focus on removing the worst offenders.

Ideally, do not run database or network operations, or make system calls that do database or network operations.

Make sure the tags are in event driven mode, so they only run when a reference changes.

> [@michael.flagler](#):
>
> I lookup the associated name/description

This should not be in an expression tag at all. It will run when no one is looking at it (useless), and cannot be internationalized for multiple simultaneous users. This belongs in UI bindings.

> [@Kishan](#):
>
> refer to tags using wildcards

This is a heavy operation. Avoid tag searches except where a user triggers it.

> [@Kishan](#):
>
> Expression tags in general should then also be avoided?

No, expression tags in general are fine, and useful in a variety of cases.

---

_[View the full topic](https://forum.inductiveautomation.com/t/slow-expression-tags/99527)._
