Skip to content

Conversation

@mlechu
Copy link
Member

@mlechu mlechu commented Nov 21, 2025

We currently use keyword arguments as arbitrary key-value pairs in a number of
places, which I've realized isn't really how they're intended to be used.
This change fixes this and reduces the JuliaLowering package image size by
about 20% on my machine from 26.910 MiB -> 21.701 MiB, or when compiled
into sysbase.dylib, +55MB -> +45MB. Unfortunately no change to
precompile time as I had hoped, but I figured this is worth doing anyway.
Lowering performance looks unchanged.

I've just used Vector{Pair} or explicit setattr calls, but let me know if
there's a better way of doing this.

Also let me know if you have a reason for the difference in size when compiled
into Base---I don't think I'm accidentally producing two copies, but you
never know.

We currently use keyword arguments as arbitrary key-value pairs in a number of
     places, which I've realized isn't really how they're intended to be used.
      This change fixes this and reduces the JuliaLowering package image size by
     about 20% on my machine from `26.910 MiB -> 21.701 MiB`, or when compiled
     into sysbase.dylib, `+55MB -> +45MB`.  Unfortunately no change to
     precompile time as I had hoped, but I figured this is worth doing anyway.

I've just used `Vector{Pair}` or explicit `setattr` calls, but let me know if
     there's a better way of doing this.

Also let me know if you have a reason for the difference in size when compiled
     into Base---I don't think I'm accidentally producing two copies, but you
     never know.
@mlechu mlechu requested review from c42f and topolarity November 21, 2025 18:40
@mlechu mlechu added the compiler:lowering Syntax lowering (compiler front end, 2nd stage) label Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compiler:lowering Syntax lowering (compiler front end, 2nd stage)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant