My research shows GOSUB is significantly faster than using a SUB if arguments are neededby (no login)
Particularly when passing an array's index value or a string. However, I believe it is the scale of the program that matters most here. How big is too big to use GOSUB? How many GOSUBs are too much?
The are no set-in-concrete answers to this. Take the following program MOONCR.BAS for example:
Even though the use of GOSUB is well organised it makes the program difficult to navigate and to understand exactly which variables are being 'passed'.