<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/libkqueue/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 10 Feb 2014 01:58:14 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/libkqueue/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Mark Heily</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -1,3 +1,11 @@
+Important Note
+---
+
+NOTE: This project is in the process of moving to GitHub. The new location is here:
+
+  https://github.com/mheily/libkqueue
+
+
 Overview
 ---

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Heily</dc:creator><pubDate>Mon, 10 Feb 2014 01:58:14 -0000</pubDate><guid>https://sourceforge.netee7e82e4f00ebf19989166032c3184eaa16344a2</guid></item><item><title>Home modified by Mark Heily</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -6,7 +6,9 @@
 [[project_admins]]
 [[download_button]]

-See also:
+See also
+---
+
  [Links]
  [Support]
  [Usage]
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Heily</dc:creator><pubDate>Tue, 30 Apr 2013 01:56:01 -0000</pubDate><guid>https://sourceforge.net52ad8f3ba382f11c11f38b8e16cc14e9fe0a6f53</guid></item><item><title>Home modified by Mark Heily</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -32,10 +32,6 @@
 ---

 Debian users can install the libkqueue0 and libkqueue-dev packages.
-
-To checkout the Subversion repository, run the following command:
-
-  svn checkout svn://mark.heily.com/libkqueue/trunk libkqueue

 Installation
 ---
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Heily</dc:creator><pubDate>Tue, 30 Apr 2013 01:55:41 -0000</pubDate><guid>https://sourceforge.net848915091126fa71726484a6ee60cc042af66938</guid></item><item><title>Home modified by Mark Heily</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -5,6 +5,11 @@

 [[project_admins]]
 [[download_button]]
+
+See also:
+ [Links]
+ [Support]
+ [Usage]

 Design
 ---
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Heily</dc:creator><pubDate>Tue, 30 Apr 2013 01:46:43 -0000</pubDate><guid>https://sourceforge.net4680bde806d112112b5087ac8abf32c35b1b384e</guid></item><item><title>Home modified by Mark Heily</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,77 @@
-Welcome to your wiki!
+Overview
+---

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
-
-The wiki uses [Markdown](/p/libkqueue/wiki/markdown_syntax/) syntax.
+libkqueue is a portable userspace implementation of the [kqueue(2)](http://www.freebsd.org/cgi/man.cgi?query=kqueue&amp;amp;sektion=2) kernel event notification mechanism. It acts as a translator between the kevent structure and the native kernel facilities of the host machine.

 [[project_admins]]
 [[download_button]]
+
+Design
+---
+
+The following diagram illustrates how libkqueue works under Linux:
+
+ (FIXME -- this image is missing)
+
+Solaris has an event ports facility that is very similar to kqueue. On this platform, the kevent() function is mapped directly to the port_get() system call:
+
+Benchmarks
+---
+
+&lt;p&gt;
+   On Linux, libkqueue provides O(1) scalability relative to the number of concurrent client connections. This is an improvement over the traditional &lt;em&gt;poll(2) &lt;/em&gt;system call which has O(N) scalability. For testing, two versions of the &lt;a href="http://www.acme.com/software/thttpd/"&gt;thttpd web server&lt;/a&gt; were compiled: one using libkqueue, and one using poll(). The ApacheBench benchmarking utility was used to compare the performance of both versions. A custom script was used to create thousands of idle connections to the server, to simulate the use of HTTP Keepalives on a busy real-world server.&lt;/p&gt;
+&lt;p&gt;
+   &lt;img alt="" src="/sites/mark.heily.com/files/libkqueue-scalability.png" style="width: 609px; height: 360px;" /&gt;&lt;/p&gt;
+
+Download
+---
+
+Debian users can install the libkqueue0 and libkqueue-dev packages.
+
+To checkout the Subversion repository, run the following command:
+
+  svn checkout svn://mark.heily.com/libkqueue/trunk libkqueue
+
+Installation
+---
+
+&lt;p&gt;
+   Here are the instructions for building the source code on a variety of operating systems.&lt;/p&gt;
+&lt;h2&gt;
+   Linux&lt;/h2&gt;
+&lt;p&gt;
+   libkqueue currently requires the following:&lt;/p&gt;
+&lt;ul&gt;
+   &lt;li&gt;
+       GCC&lt;/li&gt;
+   &lt;li&gt;
+       Linux 2.6.22 or higher&lt;/li&gt;
+   &lt;li&gt;
+       glibc 2.8 or higher&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;
+   &amp;nbsp;&lt;/p&gt;
+&lt;h2&gt;
+   Solaris&lt;/h2&gt;
+&lt;p&gt;
+   The Solaris port requires Solaris 10 or higher, and uses the GNU compiler and toolchain.&lt;/p&gt;
+&lt;h2&gt;
+   Nexenta&lt;/h2&gt;
+&lt;p&gt;
+   To build on Nexenta, the &lt;i&gt;gcc-multilib&lt;/i&gt; package is required.&lt;/p&gt;
+&lt;h2&gt;
+   Red Hat Enterprise Linux 5&lt;/h2&gt;
+&lt;p&gt;
+   Required packages:&lt;/p&gt;
+&lt;ul&gt;
+   &lt;li&gt;
+       glibc-headers&lt;/li&gt;
+   &lt;li&gt;
+       gcc&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;
+   Recommended packages:&lt;/p&gt;
+&lt;ul&gt;
+   &lt;li&gt;
+       rpm-build&lt;/li&gt;
+&lt;/ul&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Heily</dc:creator><pubDate>Tue, 30 Apr 2013 01:43:22 -0000</pubDate><guid>https://sourceforge.net88084911767612d1c270e9332a5ae99269eb8a62</guid></item><item><title>WikiPage Home modified by Mark Heily</title><link>https://sourceforge.net/p/libkqueue/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;a class="alink" href="SamplePage"&gt;[SamplePage]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/libkqueue/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;a href="/u/mheily/"&gt;Mark Heily&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;span class="download-button-50ef6b7224b0d935c4d24c93" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Heily</dc:creator><pubDate>Fri, 11 Jan 2013 01:31:31 -0000</pubDate><guid>https://sourceforge.netfd40051555eddab2f9b63d5da65f03838c416ac6</guid></item></channel></rss>