Post full example of UPDATE statement that is causing problem.

A simple UPDATE statement is *FUNDAMENTALLY* more efficient and hence typically much faster than an equivalent PL/SQL loop with UPDATE however many clever caching mechanisms you may implement.