Selector: A Language Construct for Developing Dynamic Applications
Pedro C. Diniz and Bing Liu
University of Southern California
Information Sciences Institute
{pedro,bliu}@isi.edu
Abstract
Fitting algorithms to meet input data characteristics and/or a changing
computing environment is a tedious and error prone task. Programmers need to deal
with code instrumentation details and implement the selection of which algorithm
best suits a given data set. In this paper we describe a set of simple programming
constructs for C that allows programmers to specify and generate applications that
can select at run-time the best of several possible implementations based on
measured run-time performance and/or algorithmic input values. We describe the
application of this approach to a realistic linear solver for an engineering crash
analysis code. The preliminary experimental results reveal that this approach
provides an effective mechanism for creating sophisticated dynamic application
behavior with minimal effort.