Procedural Abstraction Visualizednavigate:back

Visualized are Media Bench programs abstracted with suffix trees and reverse prefix trees as well as the difference of both abstractions. They are created with a preliminary version of our compactor -- the compactor used for our papers has a higher compaction rate.

Pixels represent single instructions in program order from left to right, starting in the upper left corner and wrapping around at the end of each line. Red pixels in the first two visualizations represent instructions that could be abstracted with suffix trees and reverse prefix trees, respectively. The third visualization shows the difference of both abstractions: black pixels represent instructions that could be abstracted with suffix trees as well as with reverse prefix trees, red pixels represent instructions that could be abstracted with reverse prefix trees only, and blue pixels represent instructions that could be abstracted with suffix trees only. There are more red pixels than blue pixels, resulting in a higher density for reverse prefix tree abstracted code.

cjpeg

cjpeg suffix optimization

cjpeg reverse prefix optimization

cjpeg diff

djpeg

djpeg suffix optimization

djpeg reverse prefix optimization

djpeg diff

libjpeg (core of cjpeg and djpeg)

libjpeg suffix optimization

libjpeg reverse prefix optimization

libjpeg diff

mpeg2enc

mpeg2enc suffix optimization

mpeg2enc reverse prefix optimization

mpeg2enc diff

mpeg2dec

mpeg2dec suffix optimization

mpeg2dec reverse prefix optimization

mpeg2dec diff

rasta

rasta suffix optimization

rasta reverse prefix optimization

rasta diff

pgp

pgp suffix optimization

pgp reverse prefix optimization

pgp diff

gsm (un) toast

toast suffix optimization

toast reverse prefix optimization

toast diff

Footnotes

The last line is cut-off if it's a partial line.