That catches undefined values (most likely good) but also catches 0 and "0" (most likely bad). Checking for truth had occured to me, but I decided to be consistent with the other solutions, and "0" counting as empty was too big a question mark. Checking for truth is 22% faster than checking the length, though:
Rate OP other fishbot Joost ikegami truth
OP 193/s -- -32% -67% -88% -89% -91%
other 284/s 47% -- -52% -82% -84% -87%
fishbot 592/s 207% 109% -- -62% -67% -73%
Joost 1578/s 719% 456% 166% -- -13% -29%
ikegami 1818/s 843% 540% 207% 15% -- -18%
truth 2221/s 1052% 682% 275% 41% 22% --
|