Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Rocq TimingNew to Visual Studio Code? Get it now.
Rocq Timing

Rocq Timing

Roger Burtonpatel

|
3 installs
| (0) | Free
Overlay timing information from .v.timing files onto Rocq/Coq source.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Rocq Timing

Rocq Timing overlays per-command compilation timing from .v.timing files onto your Rocq/Coq source in the editor. Each command is painted by how long it took: green for instant, yellow for the fastest commands that took measurable time, red for slower ones, and dark red for anything that took at least 1.0s. The elapsed seconds show on hover.

The extension is a VSCode port of rocq-timing.el by Calvin Beck, extended with navigation commands to jump to the slowest command in a file or across a whole development, then step through the ranking.

Features

  • Heatmap overlays: each command is colored by elapsed time, from green for instant to dark red for the slowest, so slow spots stand out.
  • Hover timings: hover any command to see its exact elapsed time.
  • Slowest-first navigation: jump to the slowest command in the active file or anywhere in the development, then step through the ranking.

Screenshots

Timing overlays on a Rocq source file, with the hover tooltip showing the elapsed time for the highlighted command:

Timing overlays on a Rocq source file

Painting and clearing overlays from the Command Palette:

Show Overlays and Clear Overlays

Jumping to the slowest command in the active file and stepping through the ranking:

Slowest-first navigation within a file

Jumping to the slowest command across the whole development:

Slowest-first navigation across the development

Requirements

For every <file>.v you want to inspect, a sibling <file>.v.timing must exist in the same directory.

These are produced by Rocq/Coq's -time output. With a coq-makefile-generated Makefile, running:

make TIMING=1

builds the development and writes the .v.timing files in the right places.

Usage

All commands are run from the Command Palette (⇧⌘P / Ctrl+Shift+P).

Overlays

  • Rocq Timing: Show Overlays reads <active-file>.v.timing and paints the active editor.
  • Rocq Timing: Clear Overlays removes all overlays from the active editor.

Navigation

Commands are ranked slowest-first. A jump command sets the current position, and the step commands move relative to it, so run a "Go to Slowest" command before stepping.

In the active file:

  • Rocq Timing: Go to Slowest Command in File jumps to the slowest command in <active-file>.v.timing.
  • Rocq Timing: Go to Next-Slowest Command in File advances down the ranking to the next command, the next-slowest after the current one.
  • Rocq Timing: Go to Next Slower Command in File moves back up the ranking toward slower commands.

Across the whole development (every .v.timing file in the workspace):

  • Rocq Timing: Go to Slowest Command in Development jumps to the slowest command anywhere in the development, opening the file if needed.
  • Rocq Timing: Go to Next-Slowest Command in Development advances down the development-wide ranking to the next command.
  • Rocq Timing: Go to Next Slower Command in Development moves back up the development-wide ranking toward slower commands.

The Development and File jump commands work interchangeably; i.e., you can jump to the slowest command in a development and then navigate the next-slowest or next-slower commands in that file independently.

Installation

Install Rocq Timing from the VSCode Marketplace, or from inside VSCode: open the Extensions view (⇧⌘X / Ctrl+Shift+X), search for Rocq Timing, and click Install.

Known limitations

  • Byte offsets in the .v.timing file are recorded when ROCQ -time runs.

    If you edit the .v file without rebuilding, the painted ranges drift, and jump targets can drift too. Please verify that you rebuilt .v.timing files before submitting a bug report!

    Rebuild and re-run the Show Overlays command to refresh the times.

Contributing

Bug reports, feature requests, and pull requests are welcome. Please open an issue or a pull request on GitHub.

License

Released under the MIT License.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft