Release: 0.0.3
copyright(c) 2007 kuwata-lab.com all rights reserved.
http://rubyforge.org/projects/cgiext/
'CGIExt' is a re-implementation of 'cgi.rb' in C extension. It makes your web application faster.
Currently, not of all functions are implemented.
Notice: This module is still 'alpha release' and it's specification may change in the future.
You need C compiler and Ruby's header file to compile CGIExt.
$ tar xzf cgiext-0.0.3.tar.gz $ cd cgiext-0.0.3/ $ ruby extconf.rb $ make $ sudo make install
The following is an example.
require 'cgi' require 'erb' require 'cgiext' # replaces functions automatically
If you require 'cgiext', the following functions are replaced by faster implementation of CGIExt.
Notice that these are replaced only when you have required that module. For example, if you have not required ERB before requiring 'cgiext', ERB::Util.h() is not replaced.
Try 'bench.rb' included in CGIExt archive. This script tests functions of CGI and ERB.
### without CGIExt
$ ruby -s bench.rb -N=100000
user system total real
CGI.escapeHTML 5.110000 0.020000 5.130000 ( 5.188709)
ERB::Util.h 5.030000 0.020000 5.050000 ( 5.109625)
CGI.unescapeHTML 31.090000 0.090000 31.180000 ( 31.492502)
CGI.escape 4.630000 0.020000 4.650000 ( 4.679305)
CGI.unescape 3.780000 0.000000 3.780000 ( 3.800455)
CGI.rfc1123_date 2.020000 0.010000 2.030000 ( 2.049406)
CGI.parse 12.030000 0.030000 12.060000 ( 12.156096)
CGI.new 19.670000 0.050000 19.720000 ( 19.854737)
### with CGIExt
$ ruby -s bench.rb -N=100000 -cgiext
user system total real
CGI.escapeHTML 0.990000 0.010000 1.000000 ( 1.026906)
ERB::Util.h 0.960000 0.000000 0.960000 ( 0.971983)
CGI.unescapeHTML 1.200000 0.000000 1.200000 ( 1.210950)
CGI.escape 0.470000 0.000000 0.470000 ( 0.478267)
CGI.unescape 0.340000 0.000000 0.340000 ( 0.343116)
CGI.rfc1123_date 0.600000 0.010000 0.610000 ( 0.634919)
CGI.parse 1.990000 0.000000 1.990000 ( 2.003067)
CGI.new 8.990000 0.020000 9.010000 ( 9.084454)
The result shows that CGIExt makes functions of CGI and ERB extremingly faster.
Ruby's license
makoto kuwata <kwa(at)kuwata-lab.com>
If you have bugs or questions, report them to kwa(at)kuwata-lab.com.