Skip to content

Performance monitoring of the Everest build #92

@msprotz

Description

@msprotz

Following up on FStarLang/FStar#2757...

@mtzguido you showed in FStarLang/FStar#2734 how to monitor resource usage throughout the Everest build... including in F* and HACL*. Can we make this a regular feature, say, as part of the Everest upgrade CI job, and report very prominently the top files for memory consumption and/or time?

Rationale.

We have had a number of performance regressions over the past few months (FStarLang/FStar#2757, hacl-star/hacl-star#541, hacl-star/hacl-star#539) and most of these are detected by accident, after the fact. (For instance, because we start having OOMs on HACL builds, or because I notice builds are starting to take much longer in Slack notifications, or because I keep an eye on my local build and notice some file taking an insane amount of time...)

This isn't super productive, and this prevents the F* team from having good feedback on the impact of their changes.

Concrete proposal.

I suggest adding a $(RUNLIM) variable in the HACL* build. Then, the Everest script exports RUNLIM="runlim -o $@.runlim" so that the HACL* build collects the desired output. And then @mtzguido, your script can be used to report on the memory (or time) usage.

What do you think? CCing @tahina-pro for the Everest script part.

Thanks,

Jonathan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions