11 Optimization in Typed Racket

See Optimization in Typed Racket in the guide for tips to get the most out of the optimizer.

Typed Racket provides a type-driven optimizer that rewrites well-typed programs to potentially make them faster.

Typed Racket’s optimizer is turned on by default. If you want to deactivate it (for debugging, for instance), you must add the #:no-optimize keyword when specifying the language of your program:

#lang typed/racket #:no-optimize

The optimizer is also disabled if the environment variable PLT_TR_NO_OPTIMIZE is set (to any value) or if the current code inspector (see Code Inspectors) is insufficiently powerful to access racket/unsafe/ops, for example when executing in a sandbox (see Sandboxed Evaluation). This prevents untrusted code from accessing these operations by exploiting errors in the type system.