![]() |
Limits to using Call
Greetings:
I have a new module, consisting of many "subs" Each one is actually quite small, but very understandable, since each one refers to one sheet. Question: Does the use of many subs (Calls) noticibly affect spead of proceedures? Is there any limit to the number of subs one can use within a module or workbook or............ Thanks |
Limits to using Call
It takes longer to call a sub to execute some code than it does to execute it
inline. that said, it is not a significant performance problem and the benefits probably outweigh the penalties. The only limitation I am aware of is that if you exported a module to a bas file, the size of the bas file should be less than 64K. This isn't a published limitation, but many have stated it as a rule of thumb which if ignored can cause problems. That really has no effect on the number of procedures which I am not aware of any limit. At the same time, from a maintenance standpoint, I suppose you can go overboard. -- Regards, Tom Ogilvy "BEEJAY" wrote: Greetings: I have a new module, consisting of many "subs" Each one is actually quite small, but very understandable, since each one refers to one sheet. Question: Does the use of many subs (Calls) noticibly affect spead of proceedures? Is there any limit to the number of subs one can use within a module or workbook or............ Thanks |
Limits to using Call
To further what Tom has said, where you have a real need for speed
(performance is noticably poor) then keep function or procedure calls out of large loops (a few thousand loops or more). There is overhead associated with every call so if it is in a loop it can become significant. If it is just regular sequential code then there really is no benefit to 'in lining" your subs or functions, and maintenance will often be easier if you break your code up into multiple subs or functions. -- HTH... Jim Thomlinson "Tom Ogilvy" wrote: It takes longer to call a sub to execute some code than it does to execute it inline. that said, it is not a significant performance problem and the benefits probably outweigh the penalties. The only limitation I am aware of is that if you exported a module to a bas file, the size of the bas file should be less than 64K. This isn't a published limitation, but many have stated it as a rule of thumb which if ignored can cause problems. That really has no effect on the number of procedures which I am not aware of any limit. At the same time, from a maintenance standpoint, I suppose you can go overboard. -- Regards, Tom Ogilvy "BEEJAY" wrote: Greetings: I have a new module, consisting of many "subs" Each one is actually quite small, but very understandable, since each one refers to one sheet. Question: Does the use of many subs (Calls) noticibly affect spead of proceedures? Is there any limit to the number of subs one can use within a module or workbook or............ Thanks |
Limits to using Call
Tom and Jim:
Thank You: Gives me quite some peace of mind "Jim Thomlinson" wrote: To further what Tom has said, where you have a real need for speed (performance is noticably poor) then keep function or procedure calls out of large loops (a few thousand loops or more). There is overhead associated with every call so if it is in a loop it can become significant. If it is just regular sequential code then there really is no benefit to 'in lining" your subs or functions, and maintenance will often be easier if you break your code up into multiple subs or functions. -- HTH... Jim Thomlinson "Tom Ogilvy" wrote: It takes longer to call a sub to execute some code than it does to execute it inline. that said, it is not a significant performance problem and the benefits probably outweigh the penalties. The only limitation I am aware of is that if you exported a module to a bas file, the size of the bas file should be less than 64K. This isn't a published limitation, but many have stated it as a rule of thumb which if ignored can cause problems. That really has no effect on the number of procedures which I am not aware of any limit. At the same time, from a maintenance standpoint, I suppose you can go overboard. -- Regards, Tom Ogilvy "BEEJAY" wrote: Greetings: I have a new module, consisting of many "subs" Each one is actually quite small, but very understandable, since each one refers to one sheet. Question: Does the use of many subs (Calls) noticibly affect spead of proceedures? Is there any limit to the number of subs one can use within a module or workbook or............ Thanks |
All times are GMT +1. The time now is 03:40 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com