T
Tom Urtis
I created an application for a client, where the primary macro performs
several thousand VBA calculations on each of 50 worksheets in successive
order. The macro is efficient and runs without problems. My client is
running this app on a Windows XP system (Excel2003) with dual processors in
HyperThread mode to emulate 4 processors. Right now the macro runs on 1
processor while the other 3 processors are idle. The client wants to
shorten the macro's run time (currently at 17 minutes) by utilizing the
other 3 processors on that system. Their system is similar to the specs
found here on Dell's site:
http://www1.us.dell.com/content/products/productdetails.aspx/precn_360?c=us&cs=&l=en&s=dfh&
Questions:
(1)
Does Excel, VBA, or API provide for code that recognizes a system that has
Hyper-Thread technology?
(2)
Has anyone written or seen code to direct the Hyper-Thread system to
allocate or involve its multi-processor resources into bearing an equal
burden for running the macro, which theoretically would decrease the run
time to 25% of what it is now (given this client's system of dual
HyperThread processors). Basically the question is, can a macro can be
written to run multi-threaded across multiple processors?
It seems to me that a macro by nature can be run only from one "run point",
that being a single processor or computer, but maybe there's an opportunity
to tap into HyperThread technology to reduce run times, if it's possible to
be programmed to do so.
Any thoughts or places to point me to? I did a search on Google but found
very little info on this topic.
Thanks, any ideas are welcome.
Tom Urtis
several thousand VBA calculations on each of 50 worksheets in successive
order. The macro is efficient and runs without problems. My client is
running this app on a Windows XP system (Excel2003) with dual processors in
HyperThread mode to emulate 4 processors. Right now the macro runs on 1
processor while the other 3 processors are idle. The client wants to
shorten the macro's run time (currently at 17 minutes) by utilizing the
other 3 processors on that system. Their system is similar to the specs
found here on Dell's site:
http://www1.us.dell.com/content/products/productdetails.aspx/precn_360?c=us&cs=&l=en&s=dfh&
Questions:
(1)
Does Excel, VBA, or API provide for code that recognizes a system that has
Hyper-Thread technology?
(2)
Has anyone written or seen code to direct the Hyper-Thread system to
allocate or involve its multi-processor resources into bearing an equal
burden for running the macro, which theoretically would decrease the run
time to 25% of what it is now (given this client's system of dual
HyperThread processors). Basically the question is, can a macro can be
written to run multi-threaded across multiple processors?
It seems to me that a macro by nature can be run only from one "run point",
that being a single processor or computer, but maybe there's an opportunity
to tap into HyperThread technology to reduce run times, if it's possible to
be programmed to do so.
Any thoughts or places to point me to? I did a search on Google but found
very little info on this topic.
Thanks, any ideas are welcome.
Tom Urtis