On Mac OS X, sending the slip packet byte by byte results in an abysmal performance. The first byte takes up to 160ms to send, and each next byte approximately 250ms. The packet to request a data block is typically 7 bytes large, and therefore takes about 1660ms to send. Because a dive is transmitted as multiple smaller packets (typically 144 bytes without protocol overhead), downloading a single dive can easily take several seconds. However, when sending the entire slip packet at once, the time remains roughly identical to sending just the first byte. The result is that the time for sending a packet reduces significantly, proportional to the length of the packet. Under the hood, the slip packet is now internally buffered, and the buffer is send only when the entire packet is complete, or whenever the buffer gets full. But in practice, the buffer is large enough to always store an entire packet. In the original bug report, downloading 57 dives took about 40 minutes. After applying the patch, that time reduced to only 5 minutes!
Overview ======== Libdivecomputer is a cross-platform and open source library for communication with dive computers from various manufacturers. The official web site is: http://www.libdivecomputer.org/ The sourceforge project page is: http://sourceforge.net/projects/libdivecomputer/ Installation ============ On UNIX-like systems (including Linux, Mac OS X, MinGW), use the autotools based build system. Run the following commands from the top directory (containing this file) to configure, build and install the library and utilities: $ ./configure $ make $ make install If you downloaded the libdivecomputer source code directly from the git source code repository, then you need to create the configure script as the first step: $ autoreconf --install To uninstall libdivecomputer again, run: $ make uninstall Support ======= Please send bug reports, feedback or questions to the mailing list: http://libdivecomputer.org/cgi-bin/mailman/listinfo/devel or contact me directly: jef@libdivecomputer.org License ======= Libdivecomputer is free software, released under the terms of the GNU Lesser General Public License (LGPL). You can find a copy of the license in the file COPYING.
Description
Languages
C
98.3%
M4
1.2%
Makefile
0.5%