Vscode-markdown: Debt: add a FAQ about performance issues

Created on 16 Sep 2020  路  10Comments  路  Source: yzhang-gh/vscode-markdown

816, #815 etc.

docs meta Task Fixed

Most helpful comment

It has been 2.5 months since our last update. I am going to do this and publish a new version in this weekend.

All 10 comments

What about building debug package on CI?

It's not very difficult. But I'd like to first discuss how to introduce the job.

| Step | Release | Debug | PR |
| ------------------ | ------- | ----- | --- |
| Checkout | Do | Do | Do |
| Set debug manifest | - | Do | - |
| Build ^ | Do | Do | Do |
| Test | Do | - | Do |
| Upload VSIX | Do | Do | - |

  • Release: Build release package.
  • Debug: Build debug package.
  • PR: Triggered by PR.

^: Build commands are a little bit different.

As shown above, these three jobs have steps in common, so it's possible to merge some by strategy.

I prefer to put Release and Debug together, and create a separate workflow for PR.

What's your opinion?

What about building debug package on CI?

Brilliant!

Not sure whether we should call it "release" build, probably "latest"/"preview"/"dev"?

whether we should call it "release" build

My "release" and "debug" referred to build mode. 馃槄
That is:

  • Release: webpack --mode production
  • Debug: tsc -p ./

馃憣

I have a new idea about building debug package:

Run webpack in development mode.

-"vscode:prepublish": "webpack --mode production",
+"vscode:prepublish": "webpack --mode development",

In this way:

  • There is no gap between production and debug packages. Thus, we can get more precise profile results.
  • We only need to modify package.json.
  • We can build both packages in just one job run easily, with no need of matrix workflow.

(Note: As mentioned somewhere, I finally decided to use word "production" instead of "release".)

I haven't tried webpack --mode development before. If in this mode we can see the function name from the CPU profile, I think it is good.

see the function name from the CPU profile

Yes.

In development mode, webpack preserves all module names, function names, and comments.

Although wrappers introduced by webpack also appear in call tree, I guess it's not a big problem.

It has been 2.5 months since our last update. I am going to do this and publish a new version in this weekend.

v3.4.0 馃殌

So, the debug branch is no longer needed. We can delete it safely.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

PierreMarchand20 picture PierreMarchand20  路  3Comments

MisterY picture MisterY  路  3Comments

nosalan picture nosalan  路  3Comments

chuyangliu picture chuyangliu  路  5Comments

deanishe picture deanishe  路  4Comments