about summary refs log tree commit homepage
path: root/ext
DateCommit message (Collapse)
2008-03-02http11: ~6% performance increase in header parsing
Allocate one string object and avoid appending to it causing it to be resized. Additionally, optimize the string toupper copy so that it's done in a single pass. Also, use an inline, locale-independent toupper() implementation which should be more predictable for users with exotic locales (HTTP header names are always ASCII). The following test script was used: require 'mongrel' include Mongrel parser = HttpParser.new req = "GET /ruby HTTP/1.1\r\n" \ "User-Agent: curl/7.12.3\r\n" \ "Host: bogomips.org\r\n" \ "Accept: */*\r\n" \ "\r\n".freeze hash = Hash.new 100000.times do parser.execute(hash, req, 0) parser.reset hash.clear end git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@989 19e92222-5c0b-0410-8929-a290d50e31e9
2008-02-23Update all constants for the release, as Luis reminded me.
$ rpl -R -x'.java' -x'.c' -x'.rb' '1.1.3' '1.1.4' * git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-2@980 19e92222-5c0b-0410-8929-a290d50e31e9
2008-01-02so does java
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@945 19e92222-5c0b-0410-8929-a290d50e31e9
2008-01-02trunk version # targets 1.2
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@944 19e92222-5c0b-0410-8929-a290d50e31e9
2008-01-02updated version number to 1.1.3
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@943 19e92222-5c0b-0410-8929-a290d50e31e9
2007-12-29* ext/http11/http11.c: bumped version to 1.1.3.
* Rakefile: workaround and ugly hack to get PURE_RUBY version of gem built. git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@933 19e92222-5c0b-0410-8929-a290d50e31e9
2007-12-16New Mongrel.log is verified working for Mongrel Handler, Rails and Merb.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@916 19e92222-5c0b-0410-8929-a290d50e31e9
2007-12-15fix server versioning string in Java 1-1-2
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@908 19e92222-5c0b-0410-8929-a290d50e31e9
2007-12-15update hardcoded version strings for 1-1-2
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/branches/stable_1-1@907 19e92222-5c0b-0410-8929-a290d50e31e9
2007-12-11Added compatibility for ruby1.9. Changes made:
* changed RSTRING(temp)->ptr to STRING_PTR(temp) (new macro available since ruby 1.8.6) * changed RSTRING(data)->len to RSTRING_LEN(data) (new macro available since ruby 1.8.6) * added ifndef conditions to check if macros STRING_PTR and STRING_LEN. If do not defined, create them. git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@895 19e92222-5c0b-0410-8929-a290d50e31e9
2007-11-12ugh
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@878 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-30dunno what that manifest was for
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@840 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-27had no idea the version was hardcoded in the C extension somewhere
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@806 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-26revert trunk to 1.1
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@744 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-26except for all that java business
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@742 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-26reverts for 1.0.2
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@741 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-22pure ruby URIClassifier passes on C and JRuby both; now time to profile and ↵
see if it's worth keeping git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@722 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-18java setters are strewn all over the place
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@693 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17fragment support for java.rl
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@676 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17almost working
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@675 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17restore machine actions
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@674 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17missed one
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@673 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17definitely broken
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@672 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17ragel task does java too
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@670 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17clean pattern is global; etc
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@669 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17commit stuff
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@667 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17build tasks
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@666 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17build
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@664 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17again
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@663 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-17paths shuffle
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@662 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-15slightly more readable?
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@651 19e92222-5c0b-0410-8929-a290d50e31e9
2007-10-15fix #14086
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@650 19e92222-5c0b-0410-8929-a290d50e31e9
2007-09-16Getting ready for mongrel 1.0.2 - site and versions update. Did I forget to ↵
change something? git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@588 19e92222-5c0b-0410-8929-a290d50e31e9
2007-09-13After some discussion with tst upstream author (Peter A friend), he changed ↵
the tst library to meet mongrel needs, and he also close the bug upstream :D So we are in sync with his source code and bug 10279 is closed with this commit. git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@586 19e92222-5c0b-0410-8929-a290d50e31e9
2007-08-19Switched to C-Style comments in http11.c so that it will now compile in ↵
Solaris 2.9. [#11728] git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@570 19e92222-5c0b-0410-8929-a290d50e31e9
2007-02-23Move to the latest Ragel.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@530 19e92222-5c0b-0410-8929-a290d50e31e9
2007-01-23Site update, version bump for the 1.0.1 release
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@509 19e92222-5c0b-0410-8929-a290d50e31e9
2006-12-20Version change because rubygems can't handle 1.0-rc1 so must be 1.0
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@482 19e92222-5c0b-0410-8929-a290d50e31e9
2006-12-16Whitelist for headers which can be duplicated.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@470 19e92222-5c0b-0410-8929-a290d50e31e9
2006-12-15Version number bump to 0.3.19
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@465 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-25Version bump to 0.3.18
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@418 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-25Version bump to 0.3.17.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@414 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-25Removed experimental mime carving (in branch now).
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@413 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-25A few tweaks to bmhsearch prior to the branch out.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@408 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-20Removed old optimized_locking code in favor of fastthread by same mentalguy.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@399 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-20Removed restriction on edge case for begging string not being repetitive.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@393 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-17Version number bump.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@390 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-17More fully tested BMH with extensive fuzzing test.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@388 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-15Version bump to 0.3.15
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@385 19e92222-5c0b-0410-8929-a290d50e31e9
2006-11-15Optimistic locking library.
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@383 19e92222-5c0b-0410-8929-a290d50e31e9