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 that might help.