Análise comparativa
Gambas é uma linguagem interpretada, sem compilação "just-in-time" para código nativo até a versão 3.2.
Eis algumas pequenas análise comparativa principalmente roubadas na internet usado para comparar Gambas e Gambas compilado em
JIT com interpretador Python e Perl.
Os testes foram feitos em meu próprio computador (um processador Intel Core i5 @ 3.40 GHz rodando Ubuntu 14.10 64 bits),
executando-os com o utilitário
time
system utility. O tempo de execução é a soma do tempo de utilizador e a hora do sistema.
Note que é usado pouco tempo para compilar os arquivos fontes e todas as linguagens.
Quase todos os benchmark são insignificantes.
Resultados
Os tempos de execução são medidos em segundos.
Índice de referência |
Python |
Perl |
Gambas |
Gambas + JIT |
Sort |
4,63 |
85,99 |
5,34 |
0,39 |
Polinômios |
30,85 |
41,64 |
24,97 |
1,14 |
Primos |
14,89 |
19,70 |
12,37 |
2,48 |
nbody |
11,71 |
16,20 |
11,51 |
1,68 |
Mandelbrot |
20,15 |
12,23 |
10,63 |
0,28 |
Versões das linguagens
Foram utilizadas as seguintes versões das linguagens:
-
Python 2.7.6.
-
Perl 5.18.2.
-
Gambas 3.6.90 (versão em desenvolvimento).
Código-fonte de referência
Para obter o código-fonte dos benchmarks, navegue no diretório
benchmark
no código fonte Gambas.
Execute o benchmark em seu próprio sistema
Há um script chamado
benchmark.gbs
no diretório
benchmark
.
Basta abrir um terminal, mude para o diretório e execute-o.
Você vai obter o resultado como dados HTML. Se você quiser compartilhá-lo, não esqueça
de especificar em qual distribuição foi executado e o seu modelo de CPU.
Por exemplo, no meu próprio sistema (com 4 núcleos, portanto, as quatro linhas repetidas):
$ uname -a
Linux black-tower 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /proc/cpuinfo | grep "model name"
model name : Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
model name : Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
model name : Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
model name : Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz