Re: [whatwg/streams] How much latitude should implementations have in looking up transformer.transform()? (#691)

I feel conflicted about this. An important feature of Streams is being able to plug together standard-shaped pieces and have them work together in a predictable way. If the objects passed to Stream constructors behave differently from Javascript objects in other contexts then we're going against our own design philosophy.

Strawman scenario: some future framework uses bytecode for everything on first load to avoid JS compilation overhead. After first load it lazily loads the real Javascript and dynamically swaps all the bytecode functions for the optimizable Javascript versions. Eventually some users of this framework notice that Stream performance is bad and the fact that byte-coding needs to be disabled for sink/source/transformer methods is independently rediscovered several times before finally making it into the documentation.

My intuition tells me that optimising for undefined transform() is important, but my intuition about optimisation has been wrong before.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/issues/691#issuecomment-285565546

Received on Friday, 10 March 2017 03:45:36 UTC