Commit Graph

  • 303cd2c64c Concrete snappy-stubs-public.h and disabling IOVEC. master Ben Vanik 2015-12-30 20:27:07 -08:00
  • b8c1ab6f75 Using standard type ptrdiff_t instead of ssize_t. Ben Vanik 2015-12-30 20:26:34 -08:00
  • 22e8a0c618 Create gh-pages branch via GitHub gh-pages Steinar H. Gunderson 2015-08-26 12:20:29 +02:00
  • 2ec505963d Create gh-pages branch via GitHub Steinar H. Gunderson 2015-08-26 12:09:06 +02:00
  • be7cd23a65 First pages commit Steinar H. Gunderson 2015-08-25 12:47:46 +02:00
  • 4ac24ee06a Make a blank GitHub page. Steinar H. Gunderson 2015-08-25 12:16:34 +02:00
  • 0852af7606 Move the logic from ComputeTable into the unit test, which means it's run automatically together with the other tests, and also removes the stray function ComputeTable() (which was never referenced by anything else in the open-source version, causing compiler warnings for some) out of the core library. Steinar H. Gunderson 2015-08-19 11:37:51 +02:00
  • d80342922c Fix signed-vs.-unsigned comparison warnings. Steinar H. Gunderson 2015-08-03 13:17:04 +02:00
  • efb39e81b8 Release Snappy 1.1.3; getting the new Uncompress variant in a release is nice, and it's also good to finally get an official release out after the migration to GitHub. 1.1.3 Steinar H. Gunderson 2015-07-07 10:45:04 +02:00
  • eb66d8176b Initialized members of SnappyArrayWriter and SnappyDecompressionValidator. These members were almost surely initialized before use by other member functions, but Coverity was warning about this. Eliminating these warnings minimizes clutter in that report and the likelihood of overlooking a real bug. Steinar H. Gunderson 2015-06-22 16:10:47 +02:00
  • b2312c4c25 Add support for Uncompress(source, sink). Various changes to allow Uncompress(source, sink) to get the same performance as the different variants of Uncompress to Cord/DataBuffer/String/FlatBuffer. Steinar H. Gunderson 2015-06-22 16:03:28 +02:00
  • b2ad960067 Changes to eliminate compiler warnings on MSVC Steinar H. Gunderson 2015-06-22 15:48:29 +02:00
  • e7a897e187 Fixed unit tests to compile under MSVC. Steinar H. Gunderson 2015-06-22 15:45:11 +02:00
  • 86eb8b152b Change a few branch annotations that profiling found to be wrong. Overall performance is neutral or slightly positive. Steinar H. Gunderson 2015-06-22 15:41:30 +02:00
  • 11ccdfb868 Sync with various Google-internal changes. Steinar H. Gunderson 2015-06-22 16:07:58 +02:00
  • 22acaf438e Change some internal path names. Steinar H. Gunderson 2015-06-22 15:39:08 +02:00
  • 1ff9be9b8f Release Snappy 1.1.2. snappy.mirrorbot@gmail.com 2014-02-28 11:18:07 +00:00
  • 19690d78e8 Fix public issue 82: Stop distributing benchmark data files that have unclear or unsuitable licensing. snappy.mirrorbot@gmail.com 2014-02-19 10:31:49 +00:00
  • f82bff66af Add support for padding in the Snappy framed format. snappy.mirrorbot@gmail.com 2013-10-25 13:31:27 +00:00
  • eeead8dc38 Release Snappy 1.1.1. snappy.mirrorbot@gmail.com 2013-10-15 15:21:31 +00:00
  • 6bc39e24c7 Add autoconf tests for size_t and ssize_t. Sort-of resolves public issue 79; it would solve the problem if MSVC typically used autoconf. However, it gives a natural place (config.h) to put the typedef even for MSVC. snappy.mirrorbot@gmail.com 2013-08-13 12:55:00 +00:00
  • 7c3c01df77 When we compare the number of bytes produced with the offset for a backreference, make the signedness of the bytes produced clear, by sticking it into a size_t. This avoids a signed/unsigned compare warning from MSVC (public issue 71), and also is slightly clearer. snappy.mirrorbot@gmail.com 2013-07-29 11:06:44 +00:00
  • 2f0aaf8631 In the fast path for decompressing literals, instead of checking whether there's 16 bytes free and then checking right afterwards (when having subtracted the literal size) that there are now 5 bytes free, just check once for 21 bytes. This skips a compare and a branch; although it is easily predictable, it is still a few cycles on a fast path that we would like to get rid of. snappy.mirrorbot@gmail.com 2013-06-30 19:24:03 +00:00
  • 062bf544a6 Make the two IncrementalCopy* functions take in an ssize_t instead of a len, in order to avoid having to do 32-to-64-bit signed conversions on a hot path during decompression. (Also fixes some MSVC warnings, mentioned in public issue 75, but more of those remain.) They cannot be size_t because we expect them to go negative and test for that. snappy.mirrorbot@gmail.com 2013-06-14 21:42:26 +00:00
  • 328aafa198 Add support for uncompressing to iovecs (scatter I/O). Windows does not have struct iovec defined anywhere, so we define our own version that's equal to what UNIX typically has. snappy.mirrorbot@gmail.com 2013-06-13 16:19:52 +00:00
  • cd92eb0852 Some code reorganization needed for an internal change. snappy.mirrorbot@gmail.com 2013-06-12 19:51:15 +00:00
  • a3e928d62b Supports truncated test data in zippy benchmark. snappy.mirrorbot@gmail.com 2013-04-09 15:33:30 +00:00
  • bde324c016 Release Snappy 1.1.0. snappy.mirrorbot@gmail.com 2013-02-05 14:36:15 +00:00
  • 8168446c7e Make ./snappy_unittest pass without "srcdir" being defined. snappy.mirrorbot@gmail.com 2013-02-05 14:30:05 +00:00
  • 27a0cc3949 Increase the Zippy block size from 32 kB to 64 kB, winning ~3% density while being effectively performance neutral. snappy.mirrorbot@gmail.com 2013-01-18 12:16:36 +00:00
  • 81f34784b7 Adjust the Snappy open-source distribution for the changes in Google's internal file API. snappy.mirrorbot@gmail.com 2013-01-06 19:21:26 +00:00
  • 698af469b4 Change a few ORs to additions where they don't matter. This helps the compiler use the LEA instruction more efficiently, since e.g. a + (b << 2) can be encoded as one instruction. Even more importantly, it can constant-fold the COPY_* enums together with the shifted negative constants, which also saves some instructions. (We don't need it for LITERAL, since it happens to be 0.) snappy.mirrorbot@gmail.com 2013-01-04 11:54:20 +00:00
  • 55209f9b92 Stop giving -Werror to automake, due to an incompatibility between current versions of libtool and automake on non-GNU platforms (e.g. Mac OS X). snappy.mirrorbot@gmail.com 2012-10-08 11:37:16 +00:00
  • b86e81c8b3 Fix public issue 66: Document GetUncompressedLength better, in particular that it leaves the source in a state that's not appropriate for RawUncompress. snappy.mirrorbot@gmail.com 2012-08-17 13:54:47 +00:00
  • 2e225ba821 Fix public issue 64: Check for <sys/time.h> at configure time, since MSVC seemingly does not have it. snappy.mirrorbot@gmail.com 2012-07-31 11:44:44 +00:00
  • e89f20ab46 Handle the case where gettimeofday() goes backwards or returns the same value twice; it could cause division by zero in the unit test framework. (We already had one fix for this in place, but it was incomplete.) snappy.mirrorbot@gmail.com 2012-07-04 09:34:48 +00:00
  • 3ec60ac987 Mark ARMv4 as not supporting unaligned accesses (not just ARMv5 and ARMv6); apparently Debian still targets these by default, giving us segfaults on armel. snappy.mirrorbot@gmail.com 2012-07-04 09:28:33 +00:00
  • be80d6f74f Fix public bug #62: Remove an extraneous comma at the end of an enum list, causing compile errors when embedded in Mozilla on OpenBSD. snappy.mirrorbot@gmail.com 2012-05-22 09:46:05 +00:00
  • 8b95464146 Snappy library no longer depends on iostream. snappy.mirrorbot@gmail.com 2012-05-22 09:32:50 +00:00
  • fc723b212d Release Snappy 1.0.5. snappy.mirrorbot@gmail.com 2012-02-24 15:46:37 +00:00
  • dc63e0ad96 For 32-bit platforms, do not try to accelerate multiple neighboring 32-bit loads with a 64-bit load during compression (it's not a win). snappy.mirrorbot@gmail.com 2012-02-23 17:00:36 +00:00
  • f8829ea39d Enable the use of unaligned loads and stores for ARM-based architectures where they are available (ARMv7 and higher). This gives a significant speed boost on ARM, both for compression and decompression. It should not affect x86 at all. snappy.mirrorbot@gmail.com 2012-02-21 17:02:17 +00:00
  • f2e184f638 Lower the size allocated in the "corrupted input" unit test from 256 MB to 2 MB. This fixes issues with running the unit test on platforms with little RAM (e.g. some ARM boards). snappy.mirrorbot@gmail.com 2012-02-11 22:11:22 +00:00
  • e750dc0f05 Minor refactoring to accomodate changes in Google's internal code tree. snappy.mirrorbot@gmail.com 2012-01-08 17:55:48 +00:00
  • d9068ee301 Fix public issue r57: Fix most warnings with -Wall, mostly signed/unsigned warnings. There are still some in the unit test, but the main .cc file should be clean. We haven't enabled -Wall for the default build, since the unit test is still not clean. snappy.mirrorbot@gmail.com 2012-01-04 13:10:46 +00:00
  • 0755c81519 Add a framing format description. We do not have any implementation of this at the current point, but there seems to be enough of a general interest in the topic (cf. public bug #34). snappy.mirrorbot@gmail.com 2012-01-04 10:46:39 +00:00
  • d7eb2dc413 Speed up decompression by moving the refill check to the end of the loop. snappy.mirrorbot@gmail.com 2011-12-05 21:27:26 +00:00
  • 5ed51ce15f Speed up decompression by making the fast path for literals faster. snappy.mirrorbot@gmail.com 2011-11-23 11:14:17 +00:00
  • 0c1b9c3904 Fix public issue #53: Update the README to the API we actually open-sourced with. snappy.mirrorbot@gmail.com 2011-11-08 14:46:39 +00:00
  • b61134bc0a In the format description, use a clearer example to emphasize that varints are stored in little-endian. Patch from Christian von Roques. snappy.mirrorbot@gmail.com 2011-10-05 12:27:12 +00:00
  • 21a2e4f557 Release Snappy 1.0.4. snappy.mirrorbot@gmail.com 2011-09-15 19:34:06 +00:00
  • e2e3032868 Fix public issue #50: Include generic byteswap macros. Also include Solaris 10 and FreeBSD versions. snappy.mirrorbot@gmail.com 2011-09-15 09:50:05 +00:00
  • 593002da3c Partially fix public issue 50: Remove an extra comma from the end of some enum declarations, as it seems the Sun compiler does not like it. snappy.mirrorbot@gmail.com 2011-08-10 18:57:27 +00:00
  • f1063a5dc4 Use the right #ifdef test for sys/mman.h. snappy.mirrorbot@gmail.com 2011-08-10 18:44:16 +00:00
  • 41c827a2fa Fix public issue #47: Small comment cleanups in the unit test. snappy.mirrorbot@gmail.com 2011-08-10 01:22:09 +00:00
  • 59aeffa604 Fix public issue #46: Format description said "3-byte offset" instead of "4-byte offset" for the longest copies. snappy.mirrorbot@gmail.com 2011-08-10 01:14:43 +00:00
  • 57e7cd7255 Fix public issue #44: Make the definition and declaration of CompressFragment identical, even regarding cv-qualifiers. snappy.mirrorbot@gmail.com 2011-06-28 11:40:25 +00:00
  • 13c4a449a8 Correct an inaccuracy in the Snappy format description. (I stumbled into this when changing the way we decompress literals.) snappy.mirrorbot@gmail.com 2011-06-04 10:19:05 +00:00
  • f540673740 Speed up decompression by removing a fast-path attempt. snappy.mirrorbot@gmail.com 2011-06-03 20:53:06 +00:00
  • 197f3ee9f9 Speed up decompression by not needing a lookup table for literal items. snappy.mirrorbot@gmail.com 2011-06-03 20:47:14 +00:00
  • 8efa2639e8 Release Snappy 1.0.3. snappy.mirrorbot@gmail.com 2011-06-02 22:57:41 +00:00
  • 2e12124bd8 Remove an unneeded goto in the decompressor; it turns out that the state of ip_ after decompression (or attempted decompresion) is completely irrelevant, so we don't need the trailer. snappy.mirrorbot@gmail.com 2011-06-02 18:06:54 +00:00
  • c266bbf321 Speed up decompression by caching ip_. snappy.mirrorbot@gmail.com 2011-06-02 17:59:40 +00:00
  • d0ee043bc5 Fix the numbering of the headlines in the Snappy format description. snappy.mirrorbot@gmail.com 2011-05-17 08:48:25 +00:00
  • 6c7053871f Fix public issue #32: Add compressed format documentation for Snappy. This text is new, but an earlier version from Zeev Tarantov was used as reference. snappy.mirrorbot@gmail.com 2011-05-16 08:59:18 +00:00
  • a1f9f9973d Fix public issue #39: Pick out the median runs based on CPU time, not real time. Also, use nth_element instead of sort, since we only need one element. snappy.mirrorbot@gmail.com 2011-05-09 21:29:02 +00:00
  • f7b105683c Fix public issue #38: Make the microbenchmark framework handle properly cases where gettimeofday() can stand return the same result twice (as sometimes on GNU/Hurd) or go backwards (as when the user adjusts the clock). We avoid a division-by-zero, and put a lower bound on the number of iterations -- the same amount as we use to calibrate. snappy.mirrorbot@gmail.com 2011-05-09 21:28:45 +00:00
  • d8d481427a Fix public issue #37: Only link snappy_unittest against -lz and other autodetected libraries, not libsnappy.so (which doesn't need any such dependency). snappy.mirrorbot@gmail.com 2011-05-03 23:22:52 +00:00
  • bcecf195c0 Release Snappy 1.0.2, to get the license change and various other fixes into a release. snappy.mirrorbot@gmail.com 2011-05-03 23:22:33 +00:00
  • 84d9f64202 Fix public issue #30: Stop using gettimeofday() altogether on Win32, as MSVC doesn't include it. Replace with QueryPerformanceCounter(), which is monotonic and probably reasonably high-resolution. (Some machines have traditionally had bugs in QPC, but they should be relatively rare these days, and there's really no much better alternative that I know of.) snappy.mirrorbot@gmail.com 2011-04-26 12:34:55 +00:00
  • 3d8e71df8d Fix public issue #31: Don't reset PATH in autogen.sh; instead, do the trickery we need for our own build system internally. snappy.mirrorbot@gmail.com 2011-04-26 12:34:37 +00:00
  • 73987351de When including <windows.h>, define WIN32_LEAN_AND_MEAN first, so we won't pull in macro definitions of things like min() and max(), which can conflict with <algorithm>. snappy.mirrorbot@gmail.com 2011-04-15 22:55:56 +00:00
  • fb7e0eade4 Fix public issue #29: Write CPU timing code for Windows, based on GetProcessTimes() instead of getursage(). snappy.mirrorbot@gmail.com 2011-04-11 09:07:01 +00:00
  • c67fa0c755 Include C bindings of Snappy, contributed by Martin Gieseking. snappy.mirrorbot@gmail.com 2011-04-08 09:51:53 +00:00
  • 56be85cb9a Replace geo.protodata with a newer version. snappy.mirrorbot@gmail.com 2011-04-07 16:36:43 +00:00
  • 3dd93f3ec7 Fix public issue #27: Add HAVE_CONFIG_H tests around the config.h inclusion in snappy-stubs-internal.h, which eases compiling outside the automake/autoconf framework. snappy.mirrorbot@gmail.com 2011-03-30 20:27:53 +00:00
  • f67bcaa610 Fix public issue #26: Take memory allocation and reallocation entirely out of the Measure() loop. This gives all algorithms a small speed boost, except Snappy which already didn't do reallocation (so the measurements were slightly biased in its favor). snappy.mirrorbot@gmail.com 2011-03-30 20:27:39 +00:00
  • cc333c1c5c Renamed "namespace zippy" to "namespace snappy" to reduce the differences from the opensource code. Will make it easier in the future to mix-and-match third-party code that uses snappy with google code. snappy.mirrorbot@gmail.com 2011-03-30 20:25:09 +00:00
  • f19fb07e6d Put back the final few lines of what was truncated during the license header change. snappy.mirrorbot@gmail.com 2011-03-28 22:17:04 +00:00
  • 7e8ca8f831 Change on 2011-03-25 19:18:00-07:00 by sesse snappy.mirrorbot@gmail.com 2011-03-26 02:34:34 +00:00
  • b4bbc1041b Change Snappy from the Apache 2.0 to a BSD-type license. snappy.mirrorbot@gmail.com 2011-03-25 16:14:41 +00:00
  • c47640c510 Release Snappy 1.0.1, to soup up all the various small changes that have been made since release. snappy.mirrorbot@gmail.com 2011-03-25 00:39:01 +00:00
  • b1dc1f643e Fix a microbenchmark crash on mingw32; seemingly %lld is not universally supported on Windows, and %I64d is recommended instead. snappy.mirrorbot@gmail.com 2011-03-24 19:15:54 +00:00
  • 98004ca9af Fix public issue #19: Fix unit test when Google Test is installed but the gflags package isn't (Google Test is not properly initialized). snappy.mirrorbot@gmail.com 2011-03-24 19:15:27 +00:00
  • 444a6c5f72 Make the unit test work on systems without mmap(). This is required for, among others, Windows support. For Windows in specific, we could have used CreateFileMapping/MapViewOfFile, but this should at least get us a bit closer to compiling, and is of course also relevant for embedded systems with no MMU. snappy.mirrorbot@gmail.com 2011-03-24 19:13:57 +00:00
  • 2e182e9bb8 Make the unit test work on systems without mmap(). This is required for, among others, Windows support. For Windows in specific, we could have used CreateFileMapping/MapViewOfFile, but this should at least get us a bit closer to compiling, and is of course also relevant for embedded systems with no MMU. snappy.mirrorbot@gmail.com 2011-03-24 19:12:27 +00:00
  • 48662cbb7f Fix public issue #12: Don't keep autogenerated auto* files in Subversion; it causes problems with others sending patches etc.. snappy.mirrorbot@gmail.com 2011-03-23 23:17:36 +00:00
  • 9e4717a586 Fix public issue tracker bug #3: Call AC_SUBST([LIBTOOL_DEPS]), or the rule to rebuild libtool in Makefile.am won't work. snappy.mirrorbot@gmail.com 2011-03-23 17:50:49 +00:00
  • 519c822a34 Fix public issue #10: Don't add GTEST_CPPFLAGS to snappy_unittest_CXXFLAGS; it's not needed (CPPFLAGS are always included when compiling). snappy.mirrorbot@gmail.com 2011-03-23 11:16:39 +00:00
  • ea6b936378 Fix public issue #9: Add -Wall -Werror to automake flags. (This concerns automake itself, not the C++ compiler.) snappy.mirrorbot@gmail.com 2011-03-23 11:16:18 +00:00
  • e3ca06af25 Fix a typo in the Snappy README file. snappy.mirrorbot@gmail.com 2011-03-23 11:13:37 +00:00
  • 39d27bea23 Fix public issue #6: Add a --with-gflags for disabling gflags autodetection and using a manually given setting (use/don't use) instead. snappy.mirrorbot@gmail.com 2011-03-23 11:13:13 +00:00
  • 60add43d99 Fix public issue #5: Replace the EXTRA_LIBSNAPPY_LDFLAGS setup with something slightly more standard, that also doesn't leak libtool command-line into configure.ac. snappy.mirrorbot@gmail.com 2011-03-23 11:12:44 +00:00
  • a8dd170087 Fix public issue #4: Properly quote all macro arguments in configure.ac. snappy.mirrorbot@gmail.com 2011-03-23 11:12:22 +00:00
  • 79752dd703 Fix public issue #7: Don't use internal variables named ac_*, as those belong to autoconf's namespace. snappy.mirrorbot@gmail.com 2011-03-23 11:11:54 +00:00
  • 46e39fb20c Add missing licensing headers to a few files. (Part 2/2.) snappy.mirrorbot@gmail.com 2011-03-23 11:11:09 +00:00
  • 3e764216fc Add mising licensing headers to a few files. (Part 1/2.) snappy.mirrorbot@gmail.com 2011-03-23 11:10:39 +00:00
  • 9a59f183c8 Use the correct license file for the Apache 2.0 license; spotted by Florian Weimer. snappy.mirrorbot@gmail.com 2011-03-23 11:10:04 +00:00
  • 28a6440239 Revision created by MOE tool push_codebase. MOE_MIGRATION= snappy.mirrorbot@gmail.com 2011-03-18 17:14:15 +00:00
  • 7c3c6077b7 Create trunk directory. sesse@google.com 2011-03-18 17:13:52 +00:00