# Best practice reading tags in a loop

**URL:** <https://forum.inductiveautomation.com/t/best-practice-reading-tags-in-a-loop/117817>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [November 12, 2026, 9:24am UTC](https://forum.inductiveautomation.com/t/best-practice-reading-tags-in-a-loop/117817 "2026-11-12T09:24:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielps1818](https://avatars.discourse-cdn.com/v4/letter/d/ecae2f/32.png) [@danielps1818](https://forum.inductiveautomation.com/u/danielps1818)\
**Post date:** [November 12, 2026, 9:24am UTC](https://forum.inductiveautomation.com/t/best-practice-reading-tags-in-a-loop/117817/1 "2026-11-12T09:24:04Z")

</div>

Hi!

I have a script similar to this (don't take literally the script is just an example):

```python
objects = [] # list of objects
for obj in objects:
    tag = system.tag.readBlocking([obj.get("fullPath")])

    # do something

    results.append()

return results

```

However, I'm wondering if it would be better to read all tags at the same time and then process them.

```python
objects = [] # list of objects
paths = []

for obj in objects:
    paths.append(obj.get("fullPath"))

tags = system.tag.readBlocking(paths)

for t in tags:

    # do something

    results.append()

return results

```

Note that the object list could be about 1000+ items long depending on the plant.  
What do you think?

---

<div class="post-metadata">

**Author:** ![Cose\_Peter1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cose_peter1/32/79174_2.png) [@Cose\_Peter1](https://forum.inductiveautomation.com/u/Cose_Peter1)\
**Post date:** [November 12, 2026, 11:12am UTC](https://forum.inductiveautomation.com/t/best-practice-reading-tags-in-a-loop/117817/2 "2026-11-12T11:12:02Z")

</div>

Yes! Bulk reading the tags is much better than reading single tag at a time.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [November 12, 2026, 12:45pm UTC](https://forum.inductiveautomation.com/t/best-practice-reading-tags-in-a-loop/117817/3 "2026-11-12T12:45:54Z")

</div>

> [@Cose\_Peter1](#):
>
> much better

This is an understatement! You should _never_ read individual tag paths in a loop. It can and will significantly slow down your script, particularly with higher tag counts, not to mention put additional load on the gateway

---

<div class="post-metadata">

**Author:** ![tgarrison](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tgarrison/32/80965_2.png) [@tgarrison](https://forum.inductiveautomation.com/u/tgarrison)\
**Post date:** [November 12, 2026, 1:13pm UTC](https://forum.inductiveautomation.com/t/best-practice-reading-tags-in-a-loop/117817/4 "2026-11-12T13:13:25Z")

</div>

Yup. And if you're doing it because you need to read a couple different tags from different areas over and over, learn about zip() and how you can use it with multiple lists generated from bulk reads.
