Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable link-time optimization for Vim in MacVim CI builds #1314

Closed

Commits on Oct 15, 2022

  1. Enable link-time optimization for Vim in MacVim CI builds

    From local profiling, enabling LTO for Vim gives a small but measurable
    improvement to performance. One test that I did was to open a really
    large Markdown file with vim-markdown (which usually chokes at large
    files) installed, and measure how long that takes. With LTO turned on,
    usually it gives at least 6-10% performance boost, which seems
    significant enough to justify turning it on as we essentially get the
    improvement for free (I didn't see similar boosts in other benhcmarking
    I did though, so it depends). Slight caveat is that the binary size sees
    a small increase (presumably due to inlining) but it's not too much. It
    takes more time to build with this turned on though, so only do this in
    CI, for the publish builds (we don't do this for the other runs in the
    matrix so those runs can finish faster to provide timely feedbacks).
    
    This doesn't change the compilation/linking options for MacVim binary
    itself as that doesn't seem to be where performance caps are.
    ychin committed Oct 15, 2022
    Configuration menu
    Copy the full SHA
    88d7dd5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    491087b View commit details
    Browse the repository at this point in the history
  3. Make Vim and unit test targets not blindly depend on objects folder

    They already depend on the relevant .o files, so no need to depend on
    the whole folder. Depending on the objects folder make them stomp each
    other all the time.
    ychin committed Oct 15, 2022
    Configuration menu
    Copy the full SHA
    fe71912 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    26c39df View commit details
    Browse the repository at this point in the history