Is the 1.5 seconds for a match though? Remember it'll only search to the first match, so if it's matching near the 'start' of the hash table it'll be a lot faster than searching for something not in the table at all.
It's the same time regardless of the location in the hash table, or if there are no results.
Here is the code used (fixed thanks to the comment by DaveC):
//echo -a $hget(orion,$hfind(orion,$str(* $+ $chr(9),4) $+ %string $+ *,1,w).data)
The only change is the removal of .data at the end of the original and I also removed the second string of $chr(9)'s since it wasn't needed. Even with that, it was still 1.5s or so.