# How important is it to combine system.tag.readBlocking() into a single call?

**URL:** <https://forum.inductiveautomation.com/t/how-important-is-it-to-combine-system-tag-readblocking-into-a-single-call/104795>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [April 7, 2025, 7:05pm UTC](https://forum.inductiveautomation.com/t/how-important-is-it-to-combine-system-tag-readblocking-into-a-single-call/104795 "2025-04-07T19:05:54Z")\
**Posts on this page:** 1\
**Showing post:** 8

<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:** [April 7, 2025, 11:19pm UTC](https://forum.inductiveautomation.com/t/how-important-is-it-to-combine-system-tag-readblocking-into-a-single-call/104795/8 "2025-04-07T23:19:29Z")

</div>

> [@Simon\_Hathout\_Willar](#):
>
> The item at index 4 corresponds to the machine named XYZ" doesn't seem to be worth the marginal performance benefits

For what it’s worth, you don’t have to remember, you’ll already have a list of tag paths and it’s a simple comprehension to get a dictionary where the tag values can be accessed by name.

I also disagree that there is marginal performance benefits, particularly as the number of tags grows.

> [@Python List Comprehensions Help](https://forum.inductiveautomation.com/t/python-list-comprehensions-help/56621/44):
>
> I call a script at 6:58am to sum net and gross quantities. Do you recommend to use : system.tag.readAsync() and system.tag.writeAsync() ? and scenario 2 I have read a ton of things, do math, write to a ton of things then it is recommended to use as few of blocking as I can? I am researching when to use asych programming, but I am having a hard time with the abstractness/subjectiveness

If it’s just write and forget, then writeAsync should be used, and then you can probably neglect performance gains, but with blocking calls your blocking the thread 30 times.

I have a library function that takes a list of tagPaths reads them and returns a dictionary, and another which takes that dictionary and the list of tagPaths and writes the values all at once.

There is a reason this advice is echoed all over the forum.

---

_[View the full topic](https://forum.inductiveautomation.com/t/how-important-is-it-to-combine-system-tag-readblocking-into-a-single-call/104795)._
