[swift-server-dev] HTTP Parser

David Sperling dsperling at smithmicro.com
Sun Nov 20 09:58:31 CST 2016


I would like to provide some additional detail to the discussion on November 4 (which I missed since I joined recently).



The team pointed out this thread in Kitura which I initially opened:

https://github.com/IBM-Swift/Kitura-net/issues/52



Here is the referenced Swift http_parser project which I initially ported as a thought experiment.  The goals, API and performance are described in the readme.

https://github.com/smithmicro/HTTPParser



Michael Gottesman from Apple (@gottesmm) contacted me 2 weeks ago to see if we could add the project into the Swift Benchmark Suite.  See the bottom of this PR for the request:

https://github.com/IBM-Swift/Kitura-net/pull/55



Michael and I approached the Node.js Foundation to see if they were willing to dual license http_parser under Apache 2 so it would be compatible with the Swift license.  Here is that discussion, but in summary, a dual license is not realistic.

https://github.com/nodejs/http-parser/issues/344



So, a http_parser Swift port:

- Would not have the proper license to be included in Swift

- Does not take full advantage of Swift

- Has the issues previously pointed out (UnsafePointers, asserts, throws simulating gotos)

- Does, however, demonstrate a Swift HTTP parser performance of 500K requests per second





Looking forward to meeting everyone on our call tomorrow.  Hopefully this detail was helpful.





Dave Sperling

Smith Micro
















-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-server-dev/attachments/20161120/5db6bd13/attachment.html>


More information about the swift-server-dev mailing list