Changes between Version 3 and Version 4 of ProductComparison


Ignore:
Timestamp:
Aug 19, 2005, 4:08:28 AM (14 years ago)
Author:
jtv
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ProductComparison

    v3 v4  
    1 A "one size fits all" choice of swap space management was needed for our Debian-based [http://thaiopensource.org/suriyan GNU/Linux distribution] aimed primarily at Thai SMEs.
     1A "one size fits all" choice of swap space management was needed for [http://thaiopensource.org/development/suriyan/ Suriyan], our Debian-based [http://thaiopensource.org/suriyan GNU/Linux distribution] aimed primarily at Thai SMEs.
    22
    33Looking for a dynamic solution that didn't require a fixed swap size to be chosen up-front, we came across the well-known [http://cvs.linux.hr/swapd/ swapd 0.2] but it simply didn't work, even in the "improved Debian version."  There is also a [http://www.rkeene.org/oss/swapd/ portable third-party rewrite (swapd 1.2)] that did work, but had several shortcomings:
     
    55 * required manual configuration
    66 * recommended compiling a modified kernel
    7  * used things like `malloc()` in dealing with memory shortages
     7 * used things like {{{ malloc() }}} in dealing with memory shortages
    88 * did not always check for and handle allocation errors
    99 * was fairly hard to maintain because of portability and C coding style
     
    1111 * based on the source, seemed prone to "leak" swapfiles on disk
    1212
    13 This eliminated `swapd` as an option.  Another candidate was dynswapd.  Written in C++, this program would not suffer from segmentation faults as allocations failed--but it still had significant drawbacks:
     13This eliminated {{{swapd}}} as an option.  Another candidate was dynswapd.  Written in C++, this program would not suffer from segmentation faults as allocations failed--but it still had significant drawbacks:
    1414
    15  * failed to catch any exceptions, so much the same effect as unchecked `malloc()`
     15 * failed to catch any exceptions, so much the same effect as unchecked {{{malloc()}}}
    1616 * needed C++ runtime libraries
    1717 * contained "hidden" allocations through use of C++ standard library
    1818 * was entirely devoid of comments and documentation: just code and copyright notices
    1919
    20 The choice to write our own swap manager was not taken lightly; it simply seemed easier to write our own than to adapt what was already there, and facts have borne this out.  Based on the same principles as `swapd` and `dynswapd`, Swapspace has some positive traits that set it apart from similar daemons:
     20The choice to write our own swap manager was not taken lightly; it simply seemed easier to write our own than to adapt what was already there, and facts have borne this out.  Based on the same principles as {{{swapd}}} and {{{dynswapd}}}, Swapspace has some positive traits that set it apart from similar daemons:
    2121 * adaptive swapfile sizes; no configuration required, no difficult questiosn during installation
    2222 * tries to avoid repeated logging of unneeded information that might fill up disk partitions