Skip to content
This repository has been archived by the owner on May 22, 2024. It is now read-only.

Amazing Performance intro post #2231

Merged
merged 12 commits into from
Jan 26, 2023
Merged

Amazing Performance intro post #2231

merged 12 commits into from
Jan 26, 2023

Conversation

RobbieMcKinstry
Copy link
Contributor

@RobbieMcKinstry RobbieMcKinstry commented Nov 15, 2022

This post is the first in a series about the Amazing Performance initiative. It introduces the tools we've built in the past to help us analyze the perf of Pulumi programs, and describes two small wins as part of the initiative.

@susanev
Copy link
Contributor

susanev commented Nov 28, 2022

@RobbieMcKinstry the appdash screenshot is a mb, does it need to be that big? mind if i push a commit making the file size smaller? as an additional note our blog cannot display anything with a larger width than 900px so there is no need for images to have a greater width than 900.

@RobbieMcKinstry
Copy link
Contributor Author

@susanev Thanks very much for offering! I'll take you up on that! That sounds good to me :)

@RobbieMcKinstry RobbieMcKinstry marked this pull request as ready for review November 28, 2022 00:43
@pulumi-bot
Copy link
Collaborator

Your site preview for commit e3526b2 is ready! 🎉

http://pulumi-hugo-origin-pr-2231-e3526b2f.s3-website.us-west-2.amazonaws.com.

@RobbieMcKinstry RobbieMcKinstry added the area/blog Content issues on blog posts. label Nov 28, 2022
@RobbieMcKinstry RobbieMcKinstry changed the title Draft of Amazing Performance intro post Amazing Performance intro post Nov 28, 2022
@pulumi-bot
Copy link
Collaborator

Your site preview for commit ee3d240 is ready! 🎉

http://pulumi-hugo-origin-pr-2231-ee3d240a.s3-website.us-west-2.amazonaws.com.

Signed-off-by: susanev <susan.ra.evans@gmail.com>
@pulumi-bot
Copy link
Collaborator

Your site preview for commit c1ee945 is ready! 🎉

http://pulumi-hugo-origin-pr-2231-c1ee945d.s3-website.us-west-2.amazonaws.com.

Copy link
Contributor

@kpitzen kpitzen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My tiniest nit yet - otherwise this looks fantastic!

- engineering
---

This is the first post in a series about performance optimizations we've made to the Pulumi CLI. Over the last six months at Pulumi, the Platform Team has been working on a project we call "Amazing Performance." Amazing Performance is a new initiative to improve the throughput and latency of the Pulumi CLI not only for power users but for everyone. By the end of June 2022, we assembled a list of issues containing both high-value improvements requiring a sizable investment and low-hanging fruit for quick wins. The full list, including the items we have yet to tackle, is contained in [a tracking issue on GitHub](https://github.com/pulumi/home/issues/1499). This blog series will cover the highlights.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tracking issue is private within pulumi. I don't think we should link to it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@t0yv0 also pointed this out. You're right, we shouldn't link to issues in Home.
Maybe about a month back, I talked with @mikhailshilkov about whether we could exfiltrate the issue into the public space. I opened pulumi/pulumi#11598, which is essentially a forward-looking version of the private issue, which we intend to close as it was specifically scoped to Q4 2022.

@susanev
Copy link
Contributor

susanev commented Jan 3, 2023

@RobbieMcKinstry did you want to merge this soon? can i help in any way?

Co-authored-by: Kyle Pitzen <kyle.pitzen@gmail.com>
@RobbieMcKinstry
Copy link
Contributor Author

@susanev I've been moving on this slowly for no particular reason. I need to address @iwahbe's comment and do a final editing pass.

@pulumi-bot
Copy link
Collaborator

Your site preview for commit f8e562b is ready! 🎉

http://pulumi-hugo-origin-pr-2231-f8e562be.s3-website.us-west-2.amazonaws.com.

@pulumi-bot
Copy link
Collaborator

Your site preview for commit 51c771e is ready! 🎉

http://pulumi-hugo-origin-pr-2231-51c771e5.s3-website.us-west-2.amazonaws.com.

@pulumi-bot
Copy link
Collaborator

Your site preview for commit d580071 is ready! 🎉

http://pulumi-hugo-origin-pr-2231-d580071e.s3-website.us-west-2.amazonaws.com.

Copy link
Contributor

@gthuang gthuang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice blog! just a few suggestions.

@@ -0,0 +1,84 @@
---
title: "Amazing Performance"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i suggest coming up with a more descriptive title. i like "amazing performance", so would recommend expanding this. perhaps something like "Achieving Amazing Performance for the Pulumi CLI"?


<!--more-->

This post has two sections. First, we'll describe the tools we built previously to track performance. Secondly, we'll recap a few small performance wins. Future posts will detail our major wins as part of the Amazing Performance initiative.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's just position them as "low-hanging fruit performance improvements" rather than "small wins"? it feels like we're downplaying them by calling them small wins.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I switched the wording to "quick wins". I feel like that better serves my intent, which is to say these PRs aren't so big as to justify a longer explainer, and as a result the performance gain will be smaller.


This post has two sections. First, we'll describe the tools we built previously to track performance. Secondly, we'll recap a few small performance wins. Future posts will detail our major wins as part of the Amazing Performance initiative.

## Tools We've Already Built
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a more apt title might be something like "How we measure and track performance"


### Skipping a Slow Import

When Pulumi executes NodeJS code, it compiles TypeScript into JavaScript using [TS-Node](https://www.npmjs.com/package/ts-node). Consequently, Pulumi bundles the TypeScript compiler into its NodeJS runtime so TS-Node can perform the compilation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might be good to summarize the performance improvement metric up front. maybe like "with this change, we've improved performance by up to 300ms in certain TS/JS scenarios"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, both here and below.


Not all spans are exceptionally well-named, and there are blind spots in our traces. However, traces are typically a reliable way to subdivide the program execution, so hotspots are easily identifiable. In the future, we plan to migrate to OpenTelemetry and improve our trace coverage. (Feel free to get in touch on the [Community Slack](https://slack.pulumi.com/) if you want to help with this effort!)

## Fixing Low Hanging Fruit
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Fixing Low Hanging Fruit
## Fixing Low-Hanging Fruit to Increase Speed

@aaronkao
Copy link
Contributor

Quick thing, please don't merge this blog post until you chat with @scottslowe , @cnunciato , or myself. We are trying to space out the blog post so there is a nice cadence and flow. Thanks

@RobbieMcKinstry
Copy link
Contributor Author

Sure thing @aaronkao . I asked in #marketing and #launch-readiness about a schedule. The answers I got from the marketing team didn't include @scottslowe and @cnunciato as people to loop in. Let's sync up over Slack so we can land this.

@cnunciato cnunciato added this to the 0.84 milestone Jan 25, 2023
@cnunciato cnunciato self-assigned this Jan 25, 2023
@RobbieMcKinstry
Copy link
Contributor Author

Going through and addressing @gthuang's feedback presently!

@RobbieMcKinstry
Copy link
Contributor Author

Feedback addressed! This guy is ready to go!

@pulumi-bot
Copy link
Collaborator

Your site preview for commit 83ff720 is ready! 🎉

http://pulumi-hugo-origin-pr-2231-83ff720e.s3-website.us-west-2.amazonaws.com.

@pulumi-bot
Copy link
Collaborator

Your site preview for commit 7615605 is ready! 🎉

http://pulumi-hugo-origin-pr-2231-76156058.s3-website.us-west-2.amazonaws.com.

Copy link
Member

@cnunciato cnunciato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple little suggestions and a meta image and then I think we're good to go.

themes/default/content/blog/amazing-performance/index.md Outdated Show resolved Hide resolved
themes/default/content/blog/amazing-performance/index.md Outdated Show resolved Hide resolved
RobbieMcKinstry and others added 2 commits January 26, 2023 17:44
Co-authored-by: Christian Nunciato <c@nunciato.org>
Co-authored-by: Christian Nunciato <c@nunciato.org>
@pulumi-bot
Copy link
Collaborator

Your site preview for commit 86d7a3e is ready! 🎉

http://pulumi-hugo-origin-pr-2231-86d7a3e6.s3-website.us-west-2.amazonaws.com.

@pulumi-bot
Copy link
Collaborator

Your site preview for commit d4dda9c is ready! 🎉

http://pulumi-hugo-origin-pr-2231-d4dda9c4.s3-website.us-west-2.amazonaws.com.

@cnunciato cnunciato merged commit 8cd64ab into master Jan 26, 2023
@cnunciato cnunciato deleted the mckinstry/amazing-perf branch January 26, 2023 23:15
@github-actions
Copy link

Site previews for this pull request have been removed. ✨

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/blog Content issues on blog posts.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants