Description
I have tons of love for GopherJS. It is just a fantastic project. And it is making my efforts at a Go interpreter just fly.
Out of curiosity, I notice that the methodset matching uses the two loop O(m * n), algorithm to check for type assertion, for types with m and n count of methods[1]. So I thought I would suggest this small optimization. This match can be done in O(m + n) with a hash table; rsc mentions that the Go runtime does this. Its likely mostly likely a small improvement in the typical case, but could speed some programs up.
This might be a nice first issue for a new contributor. It is a fairly small and simple change, but the rationale is easy to understand.
[1]
gopherjs/compiler/prelude/types.go
Line 705 in f7c5653