StarCore Optimizer - sco - incorporates all the algorithms, utilized in the previously developed optimizers with the new StarCore specific methods.

Click here for some discussion regarding StarCore Code Optimization by sco, explanation of the advanced optimization techniques supported by the optimizer.

Click here to see optimization results achieved by applying sco to number of benchmarks and applications, including examples of the StarCore code generated by the optimizer.

Click here for description of gcc StarCore compiler that we offer.

The following tables list results of optimization achieved for different benchmarks. All benchmarks listed below were compiled using Metrowerks StarCore ccsc100 compiler ( vMtwk.Production 1.1, build 050901-1936) and optimized using sco version 1.2.6. All code improvements reported are over performance of the code that was maximally optimized by the compiler. Results were obtained by calling sco with certain parameters - other parameter settings could result in even better improvements.

>DSP kernels

convolution 36%
integer dot-product 44%
fractional dot-product, using call to machine instructions 22%
fractional dot-product 48%
matrix multiplication 27%
FIR filter, different ways of coding 24-28%
>Powerstone benchmarks

auto 31%
blit 26%
des 34%
v42bis 23%
dhry21 18%
pocsag 14%
g3fax 15%
jpeg 16%
 

As impressive the above data is, remember that the current implementation of sco may be described as “one fit many”. Our experience with other versions of the optimizer shows, that this technology may be further customized to improve specific code patterns of majority of DSP and numeric applications. If you wish to further explore this opportunity and create special version of the optimizer for particular applications or to use our expertise to optimize your code, please feel free to contact us.