Closed aminya closed 4 years ago
The rationale behind this PR is described here: https://github.com/aminya/TypeScript-optimization#summary
Measuring the performance is hard in such a project that is tied to the Atom, but we can see some improvements here and there (5-20ms improvement for each loop) by measuring things in the performance tab in dev mode:
MatchName, MatchInterpreter
MatchIcon:
Path-Strtegy, Icon-tables
MatchName, MatchInterpreter ~(20-30ms)
MatchIcon ~(10-15ms)
Path-Strtegy (~10ms), Icon-tables (~5ms)
Your Eslint plugin is broken, and it doesn't load. I fixed some of your rules manually. I recommend using an eslintrc instead of using a package.
Your Eslint plugin is broken
Could you be more specific? What exactly was the error?
I fixed some of your rules manually.
I don't know what you changed, but the PR is now littered with diff-noise. Take a look.
Your Eslint plugin is broken
Could you be more specific? What exactly was the error?
Can't copy
I don't know what you changed, but the PR is now littered with diff-noise. Take a look.
These are trailing spaces (usually hidden) that are removed automatically on save.
You can remove them all using: https://github.com/aminya/AcuteGit#remove-trailing-whitespace
First, the ESLint error is being caused by a reference to @typescript-eslint/eslint-plugin
, which this package doesn't even use. Going by the screenshot, it's being referenced from ..\.eslintrc
, which I assume is located in the directory containing your fork.
These are trailing
spacestabs (usually hidden) that are removed.
Yes, I know. I'd appreciate it if you could revert that.
First, the ESLint error is being caused by a reference to
@typescript-eslint/eslint-plugin
, which this package doesn't even use. Going by the screenshot, it's being referenced from..\.eslintrc
, which I assume is located in the directory containing your fork.
That was strange. It was in another directory, but was being picked by the eslint-plugin
I reverted the trailing space issue because of diff noise. Fix the CI yourself.
That was strange. It was in another directory, but was being picked by the eslint-plugin
Yeah, that's long been a source of confusion for ESLint users. That's why personal config files are getting deprecated in the next major version.
Thanks. Not sure what's causing the latest CI error, but it's (probably) unrelated to this PR. I'll look into it.
Thanks for your patience.
You're welcome.
I left some other loops that I haven't benchmarked yet (like for ([a,b] of c)
).
Silly me, I neglected to check that each of the iterables in question was really an Array
. The LinguistStrategy
loop you modified had been iterating through a Set
, hence the broken tests. I've reverted that particular change.
Optimizes some of the
for-of
loops.