Browse Prior Art Database

Dynamically Optimized Code for Data of Varying Geometries

IP.com Disclosure Number: IPCOM000106321D
Original Publication Date: 1993-Oct-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 2 page(s) / 46K

Publishing Venue

IBM

Related People

Dockter, MJ: AUTHOR [+3]

Abstract

Disclosed is a technique for improving software performance by dynamically building object code based on data required by specific application requests.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 66% of the total text.

Dynamically Optimized Code for Data of Varying Geometries

      Disclosed is a technique for improving software performance by
dynamically building object code based on data required by specific
application requests.

      Handling data of varying geometry may lead to poor performance
because the geometry of the data must be determined before the data
can be used.

      For example, a Relational Database Management System (RDBMS)
tends to accept application data in rows, with fields arranged in any
order.  Since the RDBMS cannot be prepared for all combinations of
fields, it may have to interpret each field using code similar to,
but more extensive than, that in the Figure.  If there are multiple
rows and the field order and table definition do not change,
interpreting is redundant and unnecessary after the first row.

      Redundant interpreting can be eliminated by looking at the data
required by a given request and building object code to match the
data.  Performance improves because programming control structures
such as if-else, case, and looping statements are reduced or
eliminated.  In the case of the code in the figure, the loop and
if-else statements would be eliminated leaving only the appropriate
"process field" object code required by the individual fields.

      In an RDBMS, the object code is built while interpreting the
first row.  Then, all rows after the first are processed by the
dynamically built object code.

      This t...