Język Taktentus


Po co pisać i kompilator?
Aby dodać dwie liczby ...

Proste sprawdzenie szybkości działania.

Benchmark

C

#include int main()
{
int i;
int j;
int k=0;
int s=0;

for(j=0;j<=10001;j++)
 {
 for(i=0;i<=10002;i++)
  {
  k=1-k;
  s=s+k;
  }
 s-=1003;
 };
printf("%d\n",s);
return 0;
}

gcc -o b-gcc b.c

clang -o b-clang b.c
wynik 0.236 s

Taktentus

%% Program służy do testów wydajności
s := 0
k := 0

j := 10001
 i := 10002
  jeden := 1
  jeden -= k
  k := jeden

  s += k

 i --
 @ <= i
 _ := 4      %% pętla i

s -= 1003
j --
@ <= j
  _ := 3     %% pętla j

@wy_n := s
@wy := @n

PHP

#!/usr/bin/php5
<?php
$s=0;
$k=0;
for ($j = 0; $j <= 10001; $j++)
 {
 for ($i = 0; $i <= 10002; $i++)
  {
  $k=1-$k;
  $s=$s+$k;
 }
 $s=$s-1003;
}
echo $s;
?>

Ruby

#!/usr/bin/ruby
s=0
k=0

for j in 0..10001
 for i in 0..10002
   k=1-k
   s+=k
 end
 s-=1003
end

puts "#{s}"

Lua

#!/usr/bin/lua5.1
s=0;
k=0;
for j=0,10001 do
 for i=0,10002 do
  k=1-k;
  s=s+k;
 end
 s=s-1003;
end
print (s)

Python

#!/usr/bin/python
s = 0
k = 0
for j in xrange(0,10002):
   for i in xrange(0,10003):
     k = 1 - k
     s = s + k
   s = s - 1003

print s

Perl

#!/usr/bin/perl
$s=0;
$k=0;
for( $j = 0; $j <= 10001; $j++ )
{
 for( $i = 0; $i <= 10002; $i++ )
 {
  $k=1-$k;
  $s+=$k;
 };
 $s-=1003;
}
print "$s\n";

gawk

#!/usr/bin/gawk -f

BEGIN {
s = 0
k = 0

j = 0
i = 0

 for (j = 0; j <= 10001; j++) {
  for (i = 0; i <= 10002; i++) {
    k=1-k
    s=s+k
  }
  s=s-1003
 }

printf("%d\n", s)
exit
}

tclsh 1 m 58.174 s

bc -ql 1 m 59.135 s

bash 20 m 0.766 s


© by Jacek Szewczyk A.D. 2015-2017