From 85d8dcdf25bc0c75eb9abc14d3fd591339dc2fb5 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Thu, 26 Nov 2015 16:39:42 -0500 Subject: update readme --- README.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cfd6471..920a7d8 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,14 @@ Simple! LET a = 0; LET b = 0; LET iter = 0 LABEL loop_start LOGVAR a + NEWLINE LET c = a+b LET a = b LET b = c INC iter IF iter < 20; GOTO loop_start LOG Done! + NEWLINE ### Prime Counter @@ -82,6 +84,11 @@ This will create `a.out`, which contains the bytecode. ducky a.out +### Full Compile (from ducky to machine code) + + ducky -a scriptname.ds + ./a.out + ## Technical Details The program consists of four parts: the interpreter, compiler, bytecode interpreter, and C transcompiler. @@ -101,12 +108,39 @@ Executes the bytecode generated by the bytecode compiler. ### C Transcompiler Translates bytecode generated by the bytecode compiler into C. -Depends on labels as values, which is a GCC extension. ## Benchmark Results 21 Nov 2015: + c - clang 26 27 27 27 27 27 27 27 27 27 - AVG 26.9 + c - gcc 29 29 29 29 29 29 29 29 29 29 - AVG 29 + c - tcc 28 28 28 28 28 28 28 28 28 28 - AVG 28 + ducky - clang 15 15 15 15 15 15 15 15 15 15 - AVG 15 + ducky - gcc 28 28 28 28 28 28 28 28 28 26 - AVG 27.8 + +26 Nov 2015: + + + + + + + + + + + + + + + + + + + +
LanguageCompilerOptimization LevelScoresMean score
CClang-O0 SCORES MEAN
CClang-O1 SCORES MEAN
CClang-O2 SCORES MEAN
CClang-O3 SCORES MEAN
CGCC-O0 SCORES MEAN
CGCC-O1 SCORES MEAN
CGCC-O2 SCORES MEAN
CGCC-O3 SCORES MEAN
DuckyClang-O0 SCORES MEAN
DuckyClang-O1 SCORES MEAN
DuckyClang-O2 SCORES MEAN
DuckyClang-O3 SCORES MEAN
DuckyGCC-O0 SCORES MEAN
DuckyGCC-O1 SCORES MEAN
DuckyGCC-O2 SCORES MEAN
DuckyGCC-O3 SCORES MEAN
+ ## Future Directions -- cgit v1.1