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

Update pulumi dependency to remove unused Go types #1450

Merged
merged 1 commit into from
Jan 27, 2021

Conversation

lblackstone
Copy link
Member

Proposed changes

The upstream pulumi dependency made a breaking change [1]
to remove a bunch of unused types from the core Go SDK.
This should significantly reduce the memory requirements
for compiling Go programs using the k8s provider as well
as shinking the resulting binary size.

[1] pulumi/pulumi#6143

Related issues (optional)

Related to #1445

The upstream pulumi dependency made a breaking change [1]
to remove a bunch of unused types from the core Go SDK.
This should significantly reduce the memory requirements
for compiling Go programs using the k8s provider as well
as shinking the resulting binary size.

[1] pulumi/pulumi#6143
@lblackstone lblackstone force-pushed the lblackstone/go-size branch 2 times, most recently from 41957f1 to 73016dc Compare January 27, 2021 00:24
@lblackstone
Copy link
Member Author

Here are some benchmark results from my local Macbook Pro:

Using this PR:

381 MB binary / 4.2 GB compile memory

/usr/bin/time -l go build .
      106.50 real       480.89 user        43.64 sys
4198297600  maximum resident set size
         0  average shared memory size
         0  average unshared data size
         0  average unshared stack size
   8140493  page reclaims
    288488  page faults
         0  swaps
         0  block input operations
         0  block output operations
         0  messages sent
         0  messages received
     75118  signals received
     27056  voluntary context switches
   2257036  involuntary context switches

Using the sdk/v2.7.7 tag

730 MB binary / 7.27 GB compile memory

/usr/bin/time -l go build .
      165.46 real       875.94 user        88.11 sys
7268196352  maximum resident set size
         0  average shared memory size
         0  average unshared data size
         0  average unshared stack size
  14327866  page reclaims
      2502  page faults
         0  swaps
         0  block input operations
         0  block output operations
         0  messages sent
         0  messages received
    119470  signals received
     48853  voluntary context switches
   4536307  involuntary context switches

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants