You are currently browsing the monthly archive for September 2007.

Mode/Lines 1 10 100 1000 10000 100000 250000 Memory (M
flex 0.001 0.001 0.001 0.004 0.015 0.182 0.313 2.
java15 0.132 0.135 0.132 0.242 0.623 1.273 2.130 79
java15_x64 0.137 0.133 0.133 0.233 0.581 1.240 2.288
java16 0.131 0.134 0.131 0.205 0.441 1.194 1.963 800
perl 0.031 0.031 0.031 0.032 0.066 0.384 0.961 7
plex2.0_32 0.001 0.001 0.002 0.011 0.109 1.011 2.765 0.8
plex2.2_32 0.001 0.001 0.003 0.012 0.123 1.136 3.136 1
plex2.2_64 0.002 0.001 0.003 0.016 0.155 1.479 3.808 1
tcl 0.090 0.089 0.092 0.123 0.439 3.392 8.724 6

A problem with Java based applications is the hugh memory amount required to run the scanner. Tested were diffeent settings of the maximum memory allocation pool using the commandline option -Xmx.

Mode 1 10 100 1000 10000 Memory (Mb)
java 0.14 0.256 0.453 1.708 15.500 788
java -Xmx16m 0.174 0.260 0.436 1.728 15.598 290
java -Xmx32m 0.175 0.255 0.457 1.713 15.576 308
java -Xmx64m 0.175 0.254 0.456 1.713 15.460 339
java -Xmx128m 0.156 0.255 0.441 1.708 15.607 404
java -Xmx256 0.156 0.253 0.421 1.714 15.520 532
java -Xmx512 0.155 0.253 0.456 1.709 15.507 795

Comparing 64 and 32bit Scanners generated with the tply-lexer for pascal (free pascal) and with the jflex-Lexer for Java. Java programs require about 800Mb of memory whereas the pascal programs require just 1Mb of memory. However the Java programs where faster with the complete gene ontology obofile (about 250000 lines).

Mode/Lines 1 10 100 1000 10000 100000 250000
obo-plex32 0.001 0.001 0.003 0.015 0.142 1.334 3.623
obo-plex64 0.001 0.001 0.003 0.015 0.160 1.448 4.038
obo-java15_x64 0.140 0.135 0.133 0.206 0.623 1.297 2.241
obo-java15 0.133 0.136 0.137 0.208 0.596 1.352 2.028
obo-java16 0.134 0.132 0.134 0.215 0.465 1.117 1.943

Again the same set of blastfiles was used for testing of a word counting scanner. Flex and re2c based scanners again were performing best.

Mode 1 10 100 1000 10000
wc-flex 0.003 0.011 0.102 1.083 12.459
wc-flexpp 0.026 0.169 1.940 21.193 244.294
wc-gcj-exe 0.097 0.123 0.441 3.934 42.928
wc-gcj 0.087 0.307 2.875 30.163 nd
wc-java14 0.153 0.259 0.481 1.748 15.965
wc-java 0.176 0.257 0.444 1.704 15.682
wc-javaip14 0.122 0.345 2.774 28.982 329.265
wc-javaip 0.120 0.345 2.771 28.769 335.123
wc-perl-hand 0.006 0.018 0.155 1.590 18.132
wc-perl-lex 0.164 0.872 9.108 97.561 nd
wc-plex64 0.008 0.044 0.476 5.106 58.264
wc-plex 0.006 0.043 0.433 4.589 55.773
wc-re2c 0.002 0.005 0.035 0.346 3.975
wc-tcl8532 0.257 1.625 17.440 190.076 nd
wc-tcl8564 0.183 1.071 11.550 126.854 nd
wc-tcl 0.401 2.327 25.212 274.777 nd
wc-unix 0.006 0.026 0.285 2.937 33.792