Am writing a program for multithread real browser testing using ruby
1.9.3p327. It has basically many input arrays which just directs browser
what to do.
Each thread will handle one browser.
The question is how to decide optimal number of threads to make the
whole execution using least time.
What are the factors on which it should depend?
So more formally-
if I have n-core k-ghz system, ruby 1.9.3p327, using watir-webdriver,
real browser testing and each site on an average take t microsecond,
then what is the optimal number of threads?
Does it depend on the browser? if yes then how? I am concentrating on
ff, ie, chrome.
Does it depend on OS? I am concentrating on vista and windows-7.
This thread is more about discussion, its always far better to get a
rational/correct answer. but reasons and the process is needed to learn
and help many people.
We should not forget that in browser testing, machine waits for respense
from server, so there is lot of time for processor in that case? if am
not wrong?
One more thing .. I am sure it depends on the bandwidth of the internet.
So include this parameter also.
Its great to arrive at an expression involving above parameters or any
other parameter which I missed out. Isnt it possible? if not then why?
So with jruby/iron ruby, optimum is one thread by core, for pure
calculus
When many I/O, that depend on system, type of io. anyway, jruby and
ironruby are the best for multi core environment (no giant lock).
for net processing, its seem that event machine + multi process is the
must.