# System.opc.browse perfermance

**URL:** <https://forum.inductiveautomation.com/t/system-opc-browse-perfermance/35594>\
**Category:** Ignition\
**Created:** [June 12, 2020, 3:11pm UTC](https://forum.inductiveautomation.com/t/system-opc-browse-perfermance/35594 "2020-06-12T15:11:53Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 12, 2020, 3:20pm UTC](https://forum.inductiveautomation.com/t/system-opc-browse-perfermance/35594/2 "2020-06-12T15:20:12Z")

</div>

If you know ahead of time roughly where in the PLC these tags you’re interested in might be then using `system.opc.browseServer` might be more efficient. `system.opc.browse` is a poorly implemented and fully recursive browse, so it’s always slow. `browseServer` on the other hand does no recursion it all; you give it a NodeId to browse, it tells you what’s underneath it, nothing else, if you want to continue browsing then you have to make another call.

There’s an old `browseServer` example [here](http://forum.inductiveautomation.com/t/system-opc-browsesimple-time-out-error/9997/5) that might help.

---

_[View the full topic](https://forum.inductiveautomation.com/t/system-opc-browse-perfermance/35594)._
