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

Batch proc_macro RPC for TokenStream iteration and combination operations #98186

Merged
merged 7 commits into from
Jun 18, 2022

Commits on Jun 15, 2022

  1. Configuration menu
    Copy the full SHA
    7678e6a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1793ee0 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2022

  1. Configuration menu
    Copy the full SHA
    2b17219 View commit details
    Browse the repository at this point in the history
  2. proc_macro: reduce the number of messages required to create, extend,…

    … and iterate TokenStreams
    
    This significantly reduces the cost of common interactions with TokenStream
    when running with the CrossThread execution strategy, by reducing the number of
    RPC calls required.
    mystor committed Jun 17, 2022
    Configuration menu
    Copy the full SHA
    0a049fd View commit details
    Browse the repository at this point in the history
  3. Try to reduce codegen complexity of TokenStream's FromIterator and Ex…

    …tend impls
    
    This is an experimental patch to try to reduce the codegen complexity of
    TokenStream's FromIterator and Extend implementations for downstream
    crates, by moving the core logic into a helper type. This might help
    improve build performance of crates which depend on proc_macro as
    iterators are used less, and the compiler may take less time to do
    things like attempt specializations or other iterator optimizations.
    
    The change intentionally sacrifices some optimization opportunities,
    such as using the specializations for collecting iterators derived from
    Vec::into_iter() into Vec.
    
    This is one of the simpler potential approaches to reducing the amount
    of code generated in crates depending on proc_macro, so it seems worth
    trying before other more-involved changes.
    mystor committed Jun 17, 2022
    Configuration menu
    Copy the full SHA
    4d45af9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    af51424 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2022

  1. review fixups

    mystor committed Jun 18, 2022
    Configuration menu
    Copy the full SHA
    df925fd View commit details
    Browse the repository at this point in the history