If you missed Henry's discussion on making the J engine parser faster in a recent ArrayCast episode and are interested in gory details, then I recommend a listen.
https://www.arraycast.com/episodes/episode106-interpretersI thought it would be interesting to benchmark this. The changes occured gradually over many years, but the total improvement happened between J602 and the latest J9.7. To get an idea of the reduced parsing overhead, I ran the following benchmark in J602 and J9.7:
wh=: 3 : 0
a=. 1e7
while. a>0 do.
a=. <:a
end.
)
The improvement is nearly a factor of 8.
Not to encourage you to code as if you were in python, but good to know the parsing penalty is significantly reduced.