OWFS SF.net project page New OWFS Website! by Paul H Alfille SourceForge.net Logo
OWFS Design
overview
components
naming
cache
arrays
performance

OWFS Features
cache
statistics

OWFS Software
Install instructions
Bootable CD
Filesystem (owfs)
Web Server (owhttpd)
Backend Server (owserver)
Perl bindings (owperl)
Python bindings (owpython)
PHP bindings (owphp)
Tcl bindings (owtcl)
Download
Daily Configured Package
CVS -- newest
CVS Statistics
FAQ
Examples & Usage
1-wire wireless
1-Wire Hardware
OWFS Project

OWFS Performance
Performance analysis for directory listing


  • Scenario
    • Timing for the list process on a testbed of 105 1-wire devices.
    • Standard UNIX time function on 100 cycles.
    • sys, user and "real" (elapsed) time in seconds.
  • Comparisons
    • BUS contents
      • Empty
        no devices (except embedded in the adapter).
      • Cached
        all devices but allow the standard caching
      • Full
        all devices, no caching
    • Setups
      • Bare
        Timing script with no 1-wire activity
      • Remote
        owfs connected to a remote USB owserver process (fast connection)
      • Local
        owfs connected to a local USB owserver
      • Both
        owfs connected to a local owserver, connected in turn to a remote USB owserver
      • USB
        owfs directly connected to the USB (DS9490) adapter
      • Serial
        owfs directly connected to a serial (DS9097U) adapter
  • Data

    Bare Remote Local Both USB Serial
    Empty (sys) 0.004 0.323 1.728 0.319 1.601 0.419
    Empty (user) 0.006 0.205 0.817 0.188 0.929 0.165
    Empty (elapsed) 0.009 4.640 7.876 4.452 7.614 10.883







    Cached (sys) 0.004 0.400 0.307 0.231 0.292 0.339
    Cached (user) 0.006 0.207 0.187 0.150 0.141 0.198
    Cached (elapsed) 0.009 4.066 0.685 0.567 0.566 0.755







    Full (sys) 0.004 0.371 1.905 0.338 1.932 0.350
    Full (user) 0.006 0.215 0.954 0.206 0.964 0.245
    Full (elapsed) 0.009 245.769 257.343 245.482 252.644 564.341
  • Graphs
    • All Data, log scale

    • Time per device
      (Full_elapsed - Empty_elapsed)/104/100

  • Conclusions
    • USB is faster than serial
      • Directory operations were tested, which is optimized in USB.
      • Passive serial would probably be even slower.
      • LINK in native mode might be fast, too, but doesn't support branching.
      • Faster serial speed might help as well, Still the difference is only 2-fold and caching makes this irrelevant.
    • Caching is a big win
      • Essentially at bare metal speeds.
      • In general bus architectures that have little change would be best served with a long directory timeout.
    • owserver is free
      • No measurable increase in time
      • Mild memory cost
      • Adds flexibility
    • remote owserver is free
      • Even faster than local under optimum conditions
      • Depends on network constraints
© 2003 Paul H. Alfille and The owfs Team
$Id: performance.html,v 1.1 2005/06/15 01:48:54 alfille Exp $