modified: makefile
[GalaxyCodeBases.git] / c_cpp / etc / mbuffer / README
blob845bb686b5fbeba8d82d3be8669cbe4839adb59e
1 m(easuring) buffer
2 ==================
3 AUTHOR:         Thomas Maier-Komor
4 e-mail:         thomas@maier-komor.de
5 homepage:       http://www.maier-komor.de/mbuffer.html
8 LICENSE:
9 ========
10 GNU GPLv3 (see file LICENSE for details)
13 DESCRIPTION:
14 ============
15 mbuffer is a raplacement for buffer with additional functionality:
17 # display of i/o speed
18 # optional use of memory mapped i/o for huge buffer files
19 # multithreaded instead of sharedmemory ipc
20 # multi-volume support
21 # auto-loader support
22 # network support
23 # buffer compatible command-line options
26 NETWORKING:
27 ==================
28 The included networking code is based on TCP/IP.  To use it you should
29 know the basics of TCP/IP. Use it only on a trusted LAN, as there is no
30 builtin security.
33 TESTING:
34 ========
35 to test the program I do the following:
36 # tar cf - /usr | mbuffer | tar tf - > out
37 # tar cf - /usr | mbuffer -t | tar tf - > out
40 ARCHITECTURES and PLATFORMS:
41 ============================
42 This software has been tested under the following operatingsystems:
43 - solaris 8 (SPARC and x86) and later
44   - no known issues
45   - do not put your temporary files on a tmpfs filesystem,
46     as this is equivalent to a normal memory allocated buffer
47 - linux 2.2 (x86) and later
48   - some pthread versions of linux seem to have problems with
49     cancellation, causing a segmentation fault upon SIGINTR
50 - tru64-alpha 
51   - broken display
52 - FreeBSD 5.x (x86)
55 64 Bit Buffers:
56 ===============
57 The buffer limit is sysconf(_SC_SEM_VALUE_MAX)*Blocksize. This usually
58 limits the maximum number of blocks to 2G-1, because semaphores are
59 implemented using an int, which is on most architectures a 32 Bit word.
60 This limit is currently a non-issue, but might be resolved in a future
61 release, by using condition variables.
63 If the total buffer size is 2GB or larger, you will need to compile
64 mbuffer as a 64bit executable. This requires that you have a 64bit
65 processor. Compiling with gcc you will need to pass -m64 as CFLAGS
66 to configure. E.g.:
67 env CFLAGS="-O -g -m64" ./configure
68 For Sun's Studio Compiler the equivalent flag is -xarch=v9.
71 TODO:
72 =====
73 # fix: unknown bugs
76 FEEDBACK:
77 =========
78 It is always nice to get feedback. If you encounter
79 a problem or a bug, send me a note. Requests for enhancements
80 are also welcome.
81 (software@maier-komor.de)
84 DONATIONS:
85 ==========
86 If you like this software, and use it for production porposes in your
87 company, please consider making a donation to support this work. 
88 You can donate via PayPal to the author's e-mail address:
89 thomas@maier-komor.de