proomt

Search

Search posts, papers, and topics

All posts

Mozilla Automation TeamJonathan Almeida1 min readintermediate

Perf wins from relocating MOZ_OBJDIR have a dev experience cost

Summary

Moving the Firefox build output directory (MOZ_OBJDIR) out of the source tree speeds up IDE indexing by removing massive artifact trees. The downside is that generated code shows up as missing symbols, so developers must balance indexing performance against code navigation.

  • Relocating MOZ_OBJDIR out of the source tree (e.g., to ~/.mozbuild) cuts IDE indexing time by keeping large build artifact trees out of the project view.
  • The trade‑off is that generated code appears as missing (red) symbols, hurting code navigation.
  • Objdirs can grow to tens of gigabytes and hundreds of thousands of files, which IDEs struggle to index.
  • A practical mitigation is to clean up stale objdirs rather than permanently relocate them.

Mozilla or large C++ monorepo developers who rely on IDE indexing should care because relocating objdirs can improve IDE responsiveness but may degrade code visibility.

5/10

Related reading

  1. The Road to Better Performance Profiles – Part 2

    Mozilla’s Automation Team added native system‑wide profiling to their CI pipelines for Speedometer 3 on Windows, macOS, Linux, and Android, using xperf, perf, and simpleperf together with the samply toolchain, and modernized the mozgeckoprofiler symbolication stack by replacing the legacy Eliot service with samply and profiler‑edit.

    Mozilla Automation Teammozilla.org5 min
  2. Javadoc That Feels Like Your Website

    Codename One replaced its Javadoc‑generated site with a Hugo‑based pipeline: a custom doclet emits one Hugo content file per Java type, preserving Markdown comments, generating a lightweight search index, and keeping the traditional offline Javadoc archive. The approach reduces index size (1.9 MB → 341 KB gzipped), retains existing anchors, and can be reused for other Java projects.

    CodeName Onecodenameone.com4 min
  3. A New Framework for Open Source AI

    Mozilla and partners published a paper proposing a layered, gradient openness framework for foundation models, defining openness for data, code, weights, docs, and deployment. The framework gives developers, regulators, and civil society a common language to evaluate openness and safety beyond a binary label.

    Mozilla Automation Teammozilla.org3 min
  4. MozPhab 2.17.0 Released

    MozPhab 2.17.0 has been released, addressing three bugs. Key improvements include parallelizing per-commit upload and creatediff, and skipping unnecessary git checkout restoration.

    Mozilla Automation Teammozilla.org1 minrelease
  5. Faster Starts, Less JavaScript Overhead

    Codename One reduced startup latency and JavaScript overhead by publishing screen state atomically, indexing style lookups, avoiding unnecessary artwork generation, and refining suspension analysis, yielding measurable speedups.

    CodeName Onecodenameone.com7 min