-------------------------------------------------------------- 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...
-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
-
+AMD Athlon(tm) XP 1259.487 Mhz 2522.30 bogomips
-------------------------------------------------- C - gcc - write
#include <string.h>
return 0;
}
Compiling...
-real 0m0.063s
-user 0m0.044s
-sys 0m0.016s
+real 0m0.205s
+user 0m0.172s
+sys 0m0.032s
Running...
-real 0m11.514s
-user 0m3.572s
-sys 0m7.928s
+real 0m28.001s
+user 0m6.400s
+sys 0m21.597s
---------------------------------------------- C - g++ - std::cout
#include <iostream>
return 0;
}
Compiling...
-real 0m0.367s
-user 0m0.336s
-sys 0m0.024s
+real 0m1.087s
+user 0m0.988s
+sys 0m0.100s
Running...
-real 0m8.012s
-user 0m6.092s
-sys 0m1.812s
+real 0m15.557s
+user 0m10.461s
+sys 0m5.096s
------------------------------------------------------------- Perl
#!/usr/bin/perl
{
print ("stuff1"," ","stuff2","\n");
}
-Running..../test-performance2.sh: line 46: -f: command not found
+Running...
+real 0m10.660s
+user 0m10.361s
+sys 0m0.028s
+
+------------------------------------------------- C - tcc - printf
+#include <stdio.h>
-real 0m0.001s
+#define RUNS 10000000UL
+int main (void)
+{
+ unsigned long i;
+ for (i=0;i<RUNS;i++)
+ {
+ printf("%s %s\n","stuff2","stuff2");
+ }
+ return 0;
+}
+Compiling...
+real 0m0.013s
user 0m0.000s
+sys 0m0.012s
+Running...
+real 0m5.387s
+user 0m5.316s
+sys 0m0.012s
+
+------------------------------------------------- C - tcc - fwrite
+#include <stdio.h>
+#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++)
+ {
+ fwrite(s1,l1,1,stdout);
+ fwrite(" ",1,1,stdout);
+ fwrite(s2,l2,1,stdout);
+ fwrite("\n",1,1,stdout);
+ }
+ return 0;
+}
+Compiling...
+real 0m0.015s
+user 0m0.008s
+sys 0m0.008s
+Running...
+real 0m3.751s
+user 0m3.708s
+sys 0m0.012s
+
+----------------------------------------------- C<<1 - tcc - print
+#include "cll1.h"
+
+program
+{
+ repeat(10000000)
+ print("stuff1","stuff2");
+}
+Compiling...
+real 0m0.022s
+user 0m0.020s
+sys 0m0.000s
+Running...
+real 0m4.780s
+user 0m4.716s
+sys 0m0.032s
+
+-------------------------------------------------- C - tcc - fputs
+#include <stdio.h>
+
+#define RUNS 10000000UL
+int main (void)
+{
+ unsigned long i;
+ for (i=0;i<RUNS;i++) {
+ fputs("stuff1",stdout);
+ fputs(" ",stdout);
+ fputs("stuff2",stdout);
+ fputs("\n",stdout);
+ }
+ return 0;
+}
+Compiling...
+real 0m0.012s
+user 0m0.008s
sys 0m0.004s
+Running...
+real 0m4.614s
+user 0m4.596s
+sys 0m0.020s
------------------------------------------------- C - gcc - printf
#include <stdio.h>
return 0;
}
Compiling...
-real 0m0.098s
-user 0m0.080s
-sys 0m0.016s
+real 0m0.199s
+user 0m0.164s
+sys 0m0.036s
Running...
-real 0m2.818s
-user 0m2.820s
-sys 0m0.000s
+real 0m5.027s
+user 0m4.996s
+sys 0m0.032s
------------------------------------------------- C - gcc - fwrite
#include <stdio.h>
return 0;
}
Compiling...
-real 0m0.070s
-user 0m0.052s
+real 0m0.221s
+user 0m0.204s
sys 0m0.016s
Running...
-real 0m2.665s
-user 0m2.624s
-sys 0m0.012s
+real 0m3.770s
+user 0m3.664s
+sys 0m0.028s
----------------------------------------------- C<<1 - gcc - print
#include "cll1.h"
print("stuff1","stuff2");
}
Compiling...
-real 0m0.121s
-user 0m0.100s
-sys 0m0.016s
+real 0m0.364s
+user 0m0.352s
+sys 0m0.012s
Running...
-real 0m2.510s
-user 0m2.508s
-sys 0m0.004s
+real 0m4.519s
+user 0m4.504s
+sys 0m0.016s
-------------------------------------------------- C - gcc - fputs
#include <stdio.h>
return 0;
}
Compiling...
-real 0m0.060s
-user 0m0.052s
-sys 0m0.008s
+real 0m0.205s
+user 0m0.180s
+sys 0m0.024s
Running...
-real 0m1.567s
-user 0m1.560s
-sys 0m0.008s
-
+real 0m2.642s
+user 0m2.612s
+sys 0m0.032s