I don't understand how question downvotes are used. Mostly I agree with Anthony Geoghegan's answer.
(Sidenote: it would be useful for the question to name a specific version of bash, that behaves like this. In case a future version of bash manages to fix it :-).
And now I understand this question, it is interesting enough to upvote.
However, the way the question is asked made it hard for me to understand it. The text says a function call is a thousand times slower "but only if there are arguments in the parent calling function". However, both of the test cases actually use a very large number of arguments.
Is the question about any non-zero number of arguments? Or is it about a large number of arguments?
According to the current top answer, the large, thousand-fold slowdown only happens if the number of arguments is "large".
Note, I probably would not upvote if the question was only about a small slowdown. Shell scripts are not expected to be fast. I would not be very interested in learning how to speed up one specific bash script by 2x.
I think there are a couple of other things about the question that are combining with this as well. Seeing such things makes me less likely to spend the time to understand the thread.
One thing is that it can be very difficult to deal with questions that are just about "why."
For example, the current version of the question shows that other shells do not have the same problem. So the question seems to be asking "why hasn't someone already fixed my version of bash?" The general answer is "there are not enough people who want to use <bash functions with ten thousand arguments>". Or, the people that do, do not have any influence on the developers of bash.
In the first case - it would mean there are not many people really interested in the question anyway. In the second case - you're asking about politics, which is more subjective and noisier to answer :-). Also guessing which of those cases applies is probably very subjective and noisy as well :-).
As a general rule, I think the way to avoid this is to answer one level of "why" yourself: Why are you doing this? What is it that you are trying to do?
This helps show some willingness to be challenged about the reason - it allows comments to ask whether you have considered using approach X to achieve your goal instead. Avoiding prolonged suffering on both sides, from the "XY problem".
I would not find this question interesting if I could not imagine a reason for trying to do this. There could be several reasons, but the reason I'm imagining is that you are performing some operation on a large number of files.
If I can't imagine a reason to ask the question, it is hard to guess whether anyone will benefit from researching and writing an answer to it.