Also, are these individual elementary tags or such aliases? Or arrays or UDT instances? The fundamental unit of access/optimization is the top level tag, so 5000 individual DINTs will be way slower than an array of 5000 DINTs.
Considering that this topic is about Siemens, the Logix discussion should probably be a new topic. But read this and the links within first: