Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

More graphs!

  • Loading branch information...
commit ba45954139e65da086fdef41cc79edea67769750 1 parent c2f2e1c
@nddrylliog authored
View
2  build-graphs
@@ -1,6 +1,6 @@
#!/bin/bash
-for i in samples/*.graph; do
+for i in samples/*-graph; do
echo "Building $i"
gnuplot < $i
epspdf $(basename $i).eps
View
29 report.md
@@ -488,13 +488,36 @@ unspecialized version.
\input{samples/sorting.ooc.tex}
-### Code size
+### Source size
### Memory usage
-### Runtime
+### Runtime (gcc Ubuntu/Linaro 4.6.3-1ubuntu5)
-\input{graph.tex}
+The GNU Compiler Collection is the de-facto standard for open-source compilers.
+It has been used for decades to build sizable collections of C and C++ programs
+such as the Debian project, which contains over 29000 packages.
+
+\input{gcc-graph.tex}
+
+TODO: tables
+
+### Runtime (clang version 3.0-6ubuntu3)
+
+Clang is the gcc-compatible front-end for LLVM, an upcoming challenger to the
+GNU Compiler Collection, which boasts a cleaner codebase, generally faster
+compile times, and more in-depth optimizations. It now regularly beats GCC on
+benchmarks, and several Linux distributions are looking forward to switch their
+toolchain to it entirely[^gentoo-llvm].
+
+This first plot shows the difference in runtimes for
+
+[^gentoo-llvm]: Among them is the Gentoo project:
+ <http://en.gentoo-wiki.com/wiki/Llvm>
+
+\input{clang-graph.tex}
+
+TODO: tables
## Conclusion
View
8 samples/clang-graph
@@ -0,0 +1,8 @@
+set term epslatex
+set output 'clang-graph.tex'
+set xlabel 'array size'
+set ylabel 'runtime (ms)'
+plot 'samples/samples.txt' using 1:2 title 'unspecialized (-O1)' with linespoint, \
+ 'samples/samples-Os.txt' using 1:2 title 'unspecialized (-Os)' with linespoint, \
+ 'samples/samples.txt' using 1:3 title 'specialized (-O1)' with linespoint, \
+ 'samples/samples-Os.txt' using 1:3 title 'specialized (-Os)' with linespoint
View
9 samples/gcc-graph
@@ -0,0 +1,9 @@
+
+set term epslatex
+set output 'gcc-graph.tex'
+set xlabel 'array size'
+set ylabel 'runtime (ms)'
+plot 'samples/gcc-samples.txt' using 1:2 title 'unspecialized (-O1)' with linespoint, \
+ 'samples/gcc-samples-Os.txt' using 1:2 title 'unspecialized (-Os)' with linespoint, \
+ 'samples/gcc-samples.txt' using 1:3 title 'specialized (-O1)' with linespoint, \
+ 'samples/gcc-samples-Os.txt' using 1:3 title 'specialized (-Os)' with linespoint
View
6 samples/gcc-samples-O2.txt
@@ -0,0 +1,6 @@
+# list_size time_unspecialized time_specialized
+1024 220 29
+2048 966 119
+4096 3830 493
+8192 13410 1985
+16384 52689 8208
View
6 samples/gcc-samples-O3.txt
@@ -0,0 +1,6 @@
+# list_size time_unspecialized time_specialized
+1024 221 29
+2048 825 120
+4096 3457 488
+8192 13799 1978
+16384 55363 8195
View
6 samples/gcc-samples-Os.txt
@@ -0,0 +1,6 @@
+# list_size time_unspecialized time_specialized
+1024 438 35
+2048 1794 144
+4096 7211 585
+8192 29416 2423
+16384 117503 9595
View
6 samples/gcc-samples.txt
@@ -0,0 +1,6 @@
+# list_size time_unspecialized time_specialized
+1024 312 88
+2048 1259 354
+4096 5077 1429
+8192 20657 5796
+16384 79120 23295
Please sign in to comment.
Something went wrong with that request. Please try again.