We present improvements to the backtracking technique of
pattern-matching compilation. Several optimizations are introduced,
such as commutation of patterns, use of exhaustiveness information,
and control flow optimization through the use of labeled static
exceptions and context information. These optimizations have been
integrated in the Objective-Caml compiler. They have shown good
results in increasing the speed of pattern-matching intensive
programs, without increasing final code size.