Skip to content

ZJIT: Create JIT Diff Skeleton #823

Description

@jacob-shops

Create the initial skeleton structure in ruby, should be stored in /tool/.
Define the following components and implement nothing. Just add print statements about what a user should do waiting for key input between each. (At worst case, this is now a workflow for how to create diffs between ZJIT versions in a standardized manner, automation will come as needed.)

Components should be something like:

  • version selection (isolate the git diffs representing ZJIT versions we care about)
  • builder (create the ruby versions that we need to test)
  • tester (measure performance with ruby bench or something similar)
  • differ (do something to compare the perf outputs from testing these two JIT versions)
  • reporter (print the diffed results, and basic details about the versions tested, time and date, etc)

Activity

  1. self-assigned this
    on Oct 20, 2025
  2. tekknolagi commented on Oct 21, 2025

    @tekknolagi

    Diff of JSON stats that have been manually run and dumped sounds like a great first project

  3. jacob-shops commented on Oct 21, 2025

    @jacob-shops
    Author

    I talked with Alan today and learned that most folks on the team already have a "build multiple ruby versions" script that seems to work for them.

    It seems like ruby-bench already has some mechanism to compare two ruby versions, but it's not for ZJIT stats yet. This is just a mental note here that there may be a light lift to make this possible. And even before we do a fancy diff, we could do something simpler -- list the changes from zjit stats side by side in two columns representing ruby versions, sort by "percent changed" and get fancier from there.

    Here is the relevant documentation to compare two ruby versions with ruby-bench.

  4. k0kubun commented on Apr 8, 2026

    @k0kubun
    Member

    Do ruby#16160 and ruby#16160 satisfy the needs, or do we still have problems that aren't addressed yet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions