-\e[H\e[2J#!/usr/bin/python
+------------------------------------------------------------- Ruby
+#!/usr/bin/ruby
+
+10000000.times { print "stuff1"," ","stuff2","\n" }
+
+Running...
+real 0m24.569s
+user 0m23.113s
+sys 0m1.420s
+
+--------------------------------------------------- Python - range
+#!/usr/bin/python
for i in range(1,10000000):
print "stuff1","stuff2"
Running...
-13.69user 0.18system 0:13.92elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+39997minor)pagefaults 0swaps
+real 0m13.571s
+user 0m13.369s
+sys 0m0.200s
+
+-------------------------------------------------- Python - xrange
+#!/usr/bin/python
+
+for i in xrange(1,10000000):
+ print "stuff1","stuff2"
+
+Running...
+real 0m13.118s
+user 0m13.105s
+sys 0m0.012s
+
+------------------------------------------------------------ PHP 5
+#!/usr/bin/php5 -q
+<?php
+for ( $i=0; $i<10000000; $i++ )
+{
+ echo "stuff1"." "."stuff2"."\n";
+}
+?>
+Running..../test-performance2.sh: line 24: -f: command not found
+
+real 0m0.001s
+user 0m0.000s
+sys 0m0.000s
+
+-------------------------------------------------- C - gcc - write
+#include <string.h>
+
+#define RUNS 10000000UL
+int main (void)
+{
+ unsigned long i;
+ char *s1="stuff1";
+ char *s2="stuff2";
+ int l1=strlen(s1);
+ int l2=strlen(s2);
+
+ for (i=0;i<RUNS;i++)
+ {
+ write(1,s1,l1);
+ write(1," ",1);
+ write(1,s2,l2);
+ write(1,"\n",1);
+ }
+ return 0;
+}
+Compiling...
+real 0m0.063s
+user 0m0.044s
+sys 0m0.016s
+Running...
+real 0m11.514s
+user 0m3.572s
+sys 0m7.928s
+
+---------------------------------------------- C - g++ - std::cout
+#include <iostream>
+
+#define RUNS 10000000UL
+int main()
+{
+ unsigned long i;
+ for (i=0;i<RUNS;i++) {
+ std::cout << "stuff1" << " " << "stuff2" << std::endl;
+ }
+ return 0;
+}
+Compiling...
+real 0m0.367s
+user 0m0.336s
+sys 0m0.024s
+Running...
+real 0m8.012s
+user 0m6.092s
+sys 0m1.812s
+
+------------------------------------------------------------- Perl
#!/usr/bin/perl
my $i=0;
{
print ("stuff1"," ","stuff2","\n");
}
-Running...
-5.72user 0.01system 0:05.74elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+424minor)pagefaults 0swaps
-#include "cll1.h"
+Running..../test-performance2.sh: line 46: -f: command not found
-program
+real 0m0.001s
+user 0m0.000s
+sys 0m0.004s
+
+------------------------------------------------- C - gcc - printf
+#include <stdio.h>
+
+#define RUNS 10000000UL
+int main (void)
{
- repeat(10000000)
- print("stuff1","stuff2");
+ unsigned long i;
+ for (i=0;i<RUNS;i++)
+ {
+ printf("%s %s\n","stuff2","stuff2");
+ }
+ return 0;
}
Compiling...
-cc cll1-print2.c -o cll1-print2
-0.06user 0.01system 0:00.07elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+3906minor)pagefaults 0swaps
+real 0m0.098s
+user 0m0.080s
+sys 0m0.016s
Running...
-1.99user 0.02system 0:02.01elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+132minor)pagefaults 0swaps
+real 0m2.818s
+user 0m2.820s
+sys 0m0.000s
+
+------------------------------------------------- C - gcc - fwrite
#include <stdio.h>
+#include <string.h>
#define RUNS 10000000UL
int main (void)
{
unsigned long i;
- for (i=0;i<RUNS;i++) {
- printf("%s %s\n","stuff2","stuff2");
+ char *s1="stuff1";
+ char *s2="stuff2";
+ int l1=strlen(s1);
+ int l2=strlen(s2);
+
+ for (i=0;i<RUNS;i++)
+ {
+ fwrite(s1,l1,1,stdout);
+ fwrite(" ",1,1,stdout);
+ fwrite(s2,l2,1,stdout);
+ fwrite("\n",1,1,stdout);
}
return 0;
}
Compiling...
-cc printf2.c -o printf2
-0.04user 0.01system 0:00.05elapsed 103%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+3737minor)pagefaults 0swaps
+real 0m0.070s
+user 0m0.052s
+sys 0m0.016s
+Running...
+real 0m2.665s
+user 0m2.624s
+sys 0m0.012s
+
+----------------------------------------------- C<<1 - gcc - print
+#include "cll1.h"
+
+program
+{
+ repeat(10000000)
+ print("stuff1","stuff2");
+}
+Compiling...
+real 0m0.121s
+user 0m0.100s
+sys 0m0.016s
Running...
-2.94user 0.01system 0:02.95elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+121minor)pagefaults 0swaps
+real 0m2.510s
+user 0m2.508s
+sys 0m0.004s
+
+-------------------------------------------------- C - gcc - fputs
#include <stdio.h>
#define RUNS 10000000UL
return 0;
}
Compiling...
-cc fputs2.c -o fputs2
-0.04user 0.02system 0:00.05elapsed 101%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+3734minor)pagefaults 0swaps
+real 0m0.060s
+user 0m0.052s
+sys 0m0.008s
Running...
-1.56user 0.00system 0:01.57elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
-0inputs+0outputs (0major+115minor)pagefaults 0swaps
+real 0m1.567s
+user 0m1.560s
+sys 0m0.008s
+