[Gambas-user] Gambas performances

Benoît Minisini gambas at ...1...
Mon Aug 17 22:07:10 CEST 2009


> I measure the time to execute 730 snmpget commands started as process
> (SHELL command) in a Gambas program.

Why do you use SHELL to run snmpget? It runs the command inside "/bin/sh", 
which is very heavy.

>
>
> In the first time I start 20 processes in the same time and when one
> is finished, I start a new one to follow the list of requests
> to execute.
>
> I measure the time from the first process started to the last process
> finished.
>
> On the Celeron cpu, during all the time, the cpu is at 100%
>
> On the Dual-Core machine, during all the time, the both cpus are at
> around 80%
>
> On the Xeon machine, during all the time, the both cpus are at around
> 85%

If process usage is less than 100% (provided that no other heavy process runs 
on the machine), then that means that the CPU is fast enough, and that the 
bottleneck is not the CPU. As the time taken by the OS to run shells is not 
included in the cpu usage, I think you should really use EXEC instead of 
SHELL.

>
> I try to change the network connection from Ethernet card 100 Mb to
> 1Gb but nothing change in all cases.
>

So the network should not be the bottleneck - if, of course, the network 
driver is fast enough to fill the 1Gb flow, but I think so.

>
> So it's really about cpu technology where the problem is. 

As I said before, I don't agree, until you use 100% of all cpu cores, or 100% 
of one cpu core if you run one thing at once.

> Maybe the
> Xeon works really on SMP mode with a x86_64 distribution and
> lesser with x86_32 kernel ?
>
> I don't understand why ?
>
> I use the official packages of Gambas on the Fedora 10 distribution.
> Does you optimize the runtime of Gambas for x86_32 dual core cpu ?

There is no architecture specific optimization at all in the standard package, 
but anyone could add it easily I think.

Regards,

-- 
Benoît




More information about the User mailing list