Skip to content. | Skip to navigation

Personal tools
You are here: Home Accelerate Tutorials Travels with Mark: A Hitchhiker's Guide to the UniVerse, Part 5: Increase Dynamic Array Processing Performance in Rocket U2 UniVerse

Travels with Mark: A Hitchhiker's Guide to the UniVerse, Part 5

Page 1 of 14 Go to the next page

Increase Dynamic Array Processing Performance in Rocket U2 UniVerse

Field caching

Level: Intermediate

Mark Baldridge (, Principal Consultant, Rocket Software

Before you start

This tutorial builds upon the first tutorial, which introduced the UniVerse Profiler for building unit performance tests. The Profiler comes as an unmodified ideal flavor account, which uses a mixture of information, pick, and reality style syntaxes for different commands and code. You can use any flavor of account, adjusting code for the appropriate syntaxes, or by adding VOC entries to provide syntax compatible commands, such as CREATE.FILE or by using routines to hide the flavor differences. Tests that examine the difference in performance of flavor-specific behavior control that behavior with $OPTIONS compiler directives.

Code examples use mixed case, or camel-back, variable names, with an initial capital letter. Language constructs and keywords use lower case. The LOGIN paragraph turns off case inversion. The program, Keywords, in the Bp file, copies all of the keywords and the VOC file pointer to their lower case counterparts if you want to set up your own account.

Before you start building and running tests, you should enter the Profiler account and execute UPDATE.ACCOUNT and the BuildAll paragraph and then rerun the LOGIN paragraph to turn off case inversion. If you have any platform or release-specific differences in your environment, this should properly initialize them.

About this series

This series of tutorials provides the UniVerse DBA and application designers with tools for making reasoned and metrically-justified decisions about choices in everyday tasks. The subject matter of this series of articles and tutorials on UniVerse performance tuning arises from visits to customer sites. The issues raised do not disparage the customer, but reflect a real-world predicament. The typical developer or DBA has so many outstanding tasks that by the time one task is complete, at least one more has joined those remaining. They all demand attention. Sufficient time exists to make something work, but typically not enough to make it work well.


About this tutorial

This installment explores the effects of field caching in dynamic arrays. It starts by examining the dynamic array, and explores historical background on why code frequently processes dynamic array values in lieu of dynamic array fields. It then explores techniques for processing dynamic array values at the field level.



In this tutorial. you will contrast processing dynamic arrays at the value and field levels, and explore the cost of different methods of converting between dynamic arrays of values and fields.



This tutorial requires an installation of UniVerse. You can download a Personal Edition of UniVerse for Red Hat Linux® or Microsoft Windows® from the Rocket U2 Web site. The personal edition has file size restrictions that prohibit some tests, such as test 1332, which creates a 1GB file. You should have a familiarity with writing and compiling UniVerse BASIC programs.


Page 1 of 14 Go to the next page
Document Actions