Modified | DDT |>| TUE.OCT,981020,10:23-4 | | CoSy/Home ; CoSy/Current | © Coherent Systems Inc . |
" http://inferno.bell-labs.com/cm/cs/who/bwk/interps/pap.html this is a benchmark by brian kernighan investigating scripting languages - perl, awk, tcl, scheme and interface-building languages - limbo, vb and java. the 9 tests are loops, text-processing and stdio. [we really are different. we avoid all these. a full implementation of an RDBMS is a better benchmark.] even though k is not designed for loops -- rare in k-applications, e.g. none in kdb text-processing -- we prefer data-processing -- binary is better stdio -- we prefer mmap to read/write k is faster (sum of times) k(32) perl(95) java(300) tcl(1400+) [k is much faster than c on strings and memory management.] k is shorter (lines of code) k(9) awk(66) perl(96) tcl(105) scheme(170) vb(200) java(350)"; / do one million increments on initial state 0 \t 1000000(1+)/0 / ackermann's (k2.3, perl etc. have short stack) \t { :[ ~x ; y+1 ; ~y ; _f[x-1;1] ; _f[x-1 ; _f[x;y-1] ] ] }[3;7] / array indexed forwards and backwards \t x(x;|x:!200000)¨ / while(x>count string) join chop join ... on "abcdef" f:{(x>#:){(i _ x),(1+i:_.5*#x)#x:,/("123";x;"456";x "789")}/y} \t do[10;f[500000;"abcdef"]] / lookup hex strings in decimal strings \t {+/("0123456789abcdef"16_vs'!x)_lin$!x `f 0:(30000 _draw 300)#\:"king "¨/ james / write read stdio \t `f 0:0:`f¨ / (lines;words;chars)stdio \t (#:;+/(+/1<':" "=)';+/#:')@\:0:`f / write reverse read stdio \t `f 0:|0:`f ¨¨ `f 0:100000#,"-123.456"¨/ some numbers / sum float-from-ascii stdio \t +/0.0$0:`f ¨ / approximate times on 100MHZ pentium (32MB) t:( 2 10 .15 2.2 1 3.5 3.2 4 5.7¨/k .3 1 .8 5 25 80 50 125 15¨/java 3 40 8 1 6 4 15 8 10.¨/perl 100 1000 100 20 12 80 15 70 50. )¨/tcl +/'t \ \t {`show$,$i:0;do[x;s0,:$i+:1] ¨¨/ gui text
; | NoteComputer
| |