The readme says that encoding is 20% faster when reusing an Encoder instance. If that's the case, is there any reason not to just memoize them in encode (or at least reuse a default instance when no options are set)?
That's a good question. There's an example in test/reuse-instances.test.ts, but they only accepts positional parameters right now, so I might change their interfaces to accept named parameters just like as encode({...}) and decode({...}).
Oh, just to clarify, I wasn't asking about the documentation. I was suggesting an optimization to the default encode and decode functions / wondering whether there was a non-obvious reason that that hadn't been done.
Got it, that makes sense. If memoizing isn't an option, what about just pre-initializing a default instance that gets used when options is undefined? That would at least cover the most common case (I'm assuming).
The readme says that encoding is 20% faster when reusing an Encoder instance. If that's the case, is there any reason not to just memoize them in encode (or at least reuse a default instance when no options are set)?