Andrew Casey
Andrew Casey
On my box, check time for vanilla is ~22 seconds. If I rewrite `ArrayCSSInterpolation`, it drops to ~18 seconds. ```diff -export interface ArrayCSSInterpolation extends Array {} +export type ArrayCSSInterpolation =...
@charrondev I'd be interested to know why you think `Array` is involved. I would have guessed it was distribution over the conditional.
> I have a vague memory of smth like never[] causing heavy deopts that you were surprised by and you were investigating the issue. I might not remember the issue...
It's not very exciting, but I saved another half-second or so by pulling out an explicitly-typed constant for https://github.com/vanilla/vanilla/blob/7cc3ce7c31e181d934514b78c6f8406f7b5c5e3a/library/src/scripts/content/userContentStyles.ts#L720. (Otherwise, it gets checked repeatedly as part of overload resolution. Not...
> Thanks for the pointer! It makes sense - although it's quite a hard rule to remember (it's not super intuitive). I'm still trying to figure out how best to...
@charrondev As nice as a reduced repro would be, in this case, a full repro would be fine. If you point me at a commit (in Vanilla, I assume) and...
Tweaks to get it building with TS 4.2: https://github.com/amcasey/vanilla/tree/ts42 The changes are all correct except that I didn't know how to fix the usages of global `name` in MentionSuggestion.tsx, so...
I expect big perf wins for Emotion from these changes in TS 4.3: https://github.com/microsoft/TypeScript/pull/43623 https://github.com/microsoft/TypeScript/pull/43624
@Andarist The PR replaces a linear lookup in an array with a fast lookup in a set. In emotion, the array is very large and the array lookups were taking...
Oh, sorry, I thought you were asking about the order of the code in the compiler. https://github.com/microsoft/TypeScript/issues/43437#issuecomment-816037694