Closed ai closed 3 years ago
https://github.com/babel/babel/pull/13783#issuecomment-927258580
You edge case suggestions was very useful, but you didnât mention !s
fix there. You didnât create an initial boost, and you didnât fix it to name yourself as author.
I most of the cases, I am OK with idea copying between projects. But in this case, I think I have the right to do another way and ask to mention me if you copied this performance boost. You may mention me in a way âInitially create in Nano Colors and then fixed by team work of me and Andrey Sitnikâ.
I'm afraid you can't claim !s
as your own invention. It's a pretty obvious fix by looking at the stack trace.
I'm cool with borrowing ideas from each other too, of course.
Anyway, it was not did by you.
And it was a fix for initial my idea that === ''
compare is slow. Without that changes, this discussion would not be started.
You do not need this fix in Colorette for undefined
argument. You added !s
check only because you saw that it was very effective in Nano Colors.
Sorry, but I must disagree on behalf of the little programmer out there. You just can't take credit for a !s
.
!s
was the smallest change I had to make to avoid the explicit s === undefined
, so I went with that. I could've reversed the expression just as well and not use !s
at all:
!(!s && (s === "" || s === undefined))
s || (s !== "" && s !== undefined)
s || !(s === "" || s === undefined)
They're all roughly equivalent and produce the same result. I'll tell you what, I'll switch to another one and close here.
You lost the whole idea of optimization.
You saw from Nano Colors that s !== "" && s !== undefined
is slow. You copied the fix of this slow part.
Now you are changing !x
to x
instead of do an honor thing and mention an author of original work.
Recent
!s
optimization was clearly backport from Nano Colors. Can you add a note that Nano Colors was an inspiration for the project.