▼ |  | The Typed Racket Reference

1 | Type Reference
2 | Special Form Reference
3 | Libraries Provided With Typed Racket
4 | Typed Classes
5 | Typed Units
6 | Utilities
7 | Exploring Types
8 | Typed Racket Syntax Without Type Checking
9 | Typed Regions
10 | Optimization in Typed Racket
11 | Unsafe Typed Racket operations
12 | Legacy Forms
13 | Compatibility Languages
14 | Experimental Features

6.11
top ← prev up next →

### 10`` 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.

top ← prev up next →