Commit Graph
366 Commits
Author SHA1 Message Date
Paul Beusterien f627239964 Update podspec for 1.22.6 (#16) CocoaPods-1.22.6 2024-10-28 18:29:57 -04:00
Paul Beusterien c6d3ab77f9 Merge pull request #15 from mikehardy/patch-1
fix C++20 compliance with application of upstream PR 965
2024-10-28 14:20:26 -07:00
Mike Hardy dc346ebc29 fix C++20 compliance with application of upstream PR 965
These symbols are no longer valid on macOS and will fail builds if the `NDEBUG` symbol is defined, as it is now in default build settings for all react-native projects since release of react-native 0.76

This same change was applied upstream but never released, and it appears it has not been applied here

https://github.com/google/leveldb/pull/965#issuecomment-2436371816
2024-10-25 19:29:36 -05:00
Nick Cooke 2cc3364406 [Release] Update README.md publishing instructions (#14) 2024-04-11 12:24:09 -04:00
Nick Cooke a0bc79961d [Release] Bump podspec to 1.22.5 (#13) 1.22.5 CocoaPods-1.22.5 2024-04-10 14:32:33 -04:00
Nick Cooke 259f8fcbc9 [leveldb] Remove unneeded GoogleTest submodule (#12)
* [leveldb] Remove uneeded GoogleTest submodule

* Remove third_party/googletest directory
2024-04-09 16:23:18 -04:00
Nick Cooke 43aaef65e0 [leveldb] Bump podspec version to 1.22.4 (#11)
* [leveldb] Bump podspec version to 1.23.0

* Review
1.22.4 CocoaPods-1.22.4
2024-02-13 12:41:19 -05:00
Nick Cooke 174a4b51cb [leveldb] Add privacy manifest for SPM / CocoaPods (#9)
* [leveldb] Add privacy manifest for SPM / CocoaPods

* Exclude files that became problematic after bumping to STV 5.3
2024-02-13 12:37:30 -05:00
Nick Cooke 6e0967097a Update README.md (#10) 2024-02-12 17:06:17 -05:00
Nick Cooke 22338c87ef [Docs] Copy CocoaPods-specifie docs from firebase/leveldb-library-podspec repo (#8) 2024-02-05 17:08:25 -05:00
Nick Cooke e3df3ad925 [CocoaPods] Add cocoapods_version requirement (#7) CocoaPods-1.22.3 2024-01-26 18:15:58 -05:00
Nick Cooke ba9bfee3a2 Merge pull request #6 from firebase/nc/reduce-ci-jobs
[Infra] Don't trigger CI jobs twice on each PR commit
2024-01-26 10:01:06 -05:00
Nick Cooke e714b6dcab [Infra] Don't trigger CI jobs twice on each PR commit 2024-01-26 09:52:10 -05:00
Nick Cooke e16e489141 Merge pull request #5 from firebase/nc/add-podspec
[CocoaPods] Add podspec
2024-01-25 21:01:55 -05:00
Nick Cooke ce029bb02b Fix CI warnings 2024-01-25 20:57:02 -05:00
Nick Cooke 7a12194dfb Use 'CocoaPods-' prefix for tagging strategy 2024-01-25 20:45:19 -05:00
Nick Cooke acfff76c2d Change job name: swift-build-run -> spm 2024-01-25 20:44:21 -05:00
Nick Cooke 388046ccfa Remove old workflow file 2024-01-25 20:01:46 -05:00
Nick Cooke 5d2fda5217 Fix to 80 line chars 2024-01-25 20:00:02 -05:00
Nick Cooke 0617462675 Change name of workflow 2024-01-25 19:57:40 -05:00
Nick Cooke 5a197255c1 Rename workflow file to be more general 2024-01-25 19:56:44 -05:00
Nick Cooke 1c5d44aa0f Add job cancellation optimization 2024-01-25 19:56:14 -05:00
Nick Cooke 7849fb5d0c Remove unneeded flag and add clarifying comment 2024-01-25 19:54:13 -05:00
Nick Cooke bbea625812 Lint across all platforms 2024-01-25 19:50:24 -05:00
Nick Cooke fd4a366d40 Attempt to set up a pod lib lint workflow 2024-01-25 19:47:01 -05:00
Nick Cooke 88985ad52f [CocoaPods] Add podspec 2024-01-25 18:50:16 -05:00
Paul Beusterien 9d108e9112 Merge pull request #4 from TransitApp/fix-conversion-warnings
Manually fix implicit integer conversion warnings on iOS
1.22.3
2023-11-03 14:19:07 -07:00
lapfelix 193cd89a0f Manually fix implicit integer conversion warnings on iOS 2023-11-03 14:11:21 -04:00
Paul Beusterien 0706abcc6b Merge pull request #2 from firebase/toolchain-fixes
Don't include C++ headers in extern C
1.22.2
2021-03-03 18:32:40 -08:00
Paul Beusterien e4e8ab44a2 Don't include C++ headers in extern C 2021-02-19 13:17:38 -08:00
Paul Beusterien fa1f25f296 Fix platform build warning 1.22.1 2020-09-13 10:30:05 -07:00
Paul Beusterien 3f046978ec missing excludes 2020-07-10 15:46:00 -07:00
Paul Beusterien 28fc7b7559 try longer include path 2020-07-10 15:31:49 -07:00
Paul Beusterien c1b5a7c405 Initial Swift Package Manager 2020-07-10 14:47:42 -07:00
Victor Costan 5bd5f0f67a Merge pull request #798 from lntotk:master
PiperOrigin-RevId: 309738404
2020-05-04 22:47:40 +00:00
Victor Costan 23b6337f69 Fix Travis CI build.
PiperOrigin-RevId: 309138195
2020-04-30 01:21:01 +00:00
Victor Costan 5c6dd75897 Fix accidental double std:: qualifiers.
PiperOrigin-RevId: 309136120
2020-04-30 01:20:50 +00:00
Victor Costan a6b3a2012e Add some std:: qualifiers to types and functions.
PiperOrigin-RevId: 309110431
2020-04-29 22:33:14 +00:00
Victor Costan 3f934e3705 Switch from C headers to C++ headers.
This CL makes the following substitutions.

* assert.h -> cassert
* math.h -> cmath
* stdarg.h -> cstdarg
* stddef.h -> cstddef
* stdint.h -> cstdint
* stdio.h -> cstdio
* stdlib.h -> cstdlib
* string.h -> cstring

PiperOrigin-RevId: 309080151
2020-04-29 20:51:13 +00:00
Victor Costan 23d67e7c1f Fix C++11 build.
PiperOrigin-RevId: 308839805
2020-04-28 18:05:22 +00:00
leveldb Team 98a3b8cf65 change const to constexpr
PiperOrigin-RevId: 307113877
2020-04-28 00:17:51 +00:00
lntotk 10bc0f2595 remove unnessary status judge 2020-04-24 02:00:12 +00:00
Victor Costan 201f52201f Remove leveldb::port::kLittleEndian.
Clang 10 includes the optimizations described in
https://bugs.llvm.org/show_bug.cgi?id=41761. This means that the
platform-independent implementations of {Decode,Encode}Fixed{32,64}()
compile to one instruction on the most recent Clang and GCC.

PiperOrigin-RevId: 306330166
2020-04-14 01:10:05 +00:00
Victor Costan ba369ddbaf Use LLVM 10 on Travis CI.
PiperOrigin-RevId: 306236199
2020-04-14 01:09:54 +00:00
Victor Costan 5903e7a112 Remove Windows workarounds in some tests.
leveldb::Env::DeleteFile was replaced with leveldb::Env::RemoveFile in
all tests. This allows us to remove workarounds for windows.h #defining
DeleteFile.
PiperOrigin-RevId: 289121105
2020-01-14 18:31:37 -08:00
Victor Costan a0191e5563 Add Env::Remove{File,Dir} which obsolete Env::Delete{File,Dir}.
The "DeleteFile" method name causes pain for Windows developers, because
<windows.h> #defines a DeleteFile macro to DeleteFileW or DeleteFileA.
Current code uses workarounds, like #undefining DeleteFile everywhere an
Env is declared, implemented, or used.

This CL removes the need for workarounds by renaming Env::DeleteFile to
Env::RemoveFile. For consistency, Env::DeleteDir is also renamed to
Env::RemoveDir. A few internal methods are also renamed for consistency.
Software that supports Windows is expected to migrate any Env
implementations and usage to Remove{File,Dir}, and never use the name
Env::Delete{File,Dir} in its code.

The renaming is done in a backwards-compatible way, at the risk of
making it slightly more difficult to build a new correct Env
implementation. The backwards compatibility is achieved using the
following hacks:

1) Env::Remove{File,Dir} methods are added, with a default
    implementation that calls into Env::Delete{File,Dir}. This makes old
    Env implementations compatible with code that calls into the updated
    API.
2) The Env::Delete{File,Dir} methods are no longer pure virtuals.
    Instead, they gain a default implementation that calls into
    Env::Remove{File,Dir}. This makes updated Env implementations
    compatible with code that calls into the old API.

The cost of this approach is that it's possible to write an Env without
overriding either Rename{File,Dir} or Delete{File,Dir}, without getting
a compiler warning. However, attempting to run the test suite will
immediately fail with an infinite call stack ending in
{Remove,Delete}{File,Dir}, making developers aware of the problem.

PiperOrigin-RevId: 288710907
2020-01-09 09:18:14 -08:00
leveldb Team d152b23f3b Defend against inclusion of windows.h in tests that invoke
Env::DeleteFile.

PiperOrigin-RevId: 283607548
2020-01-09 09:17:59 -08:00
Victor Costan 58a89bbcb2 Add WITHOUT ROWID to SQLite benchmark.
The SQLite-specific schema feature is documented at
https://www.sqlite.org/withoutrowid.html and
https://www.sqlite.org/rowidtable.html.

By default, SQLite stores each table in a B-tree keyed by an integer,
called the ROWID. Any index, including the PRIMARY KEY index, is a
separate B-tree mapping index keys to ROWIDs. Tables without ROWIDs are
stored in a B-tree keyed by the primary key. Additional indexes (the
PRIMARY KEY index is implicitly built into the table) are stored as
B-trees mapping index keys to row primary keys.

This CL introduces a boolean --use-rowids flag to db_bench_sqlite. When
the flag is false (default), the schema of the test table includes
WITHOUT ROWID. The test table uses a primary key, so adding WITHOUT
ROWID to the schema reduces the number of B-trees used by the benchmark
from 2 to 1. This brings SQLite's disk usage closer to LevelDB.

When WITHOUT ROWID is used, SQLite fares better (than today) on
benchmarks with small (16-byte) keys, and worse on benchmarks with large
(100kb) keys.

Baseline results:
fillseq      :      21.310 micros/op;    5.2 MB/s
fillseqsync  :     146.377 micros/op;    0.8 MB/s (10000 ops)
fillseqbatch :       2.065 micros/op;   53.6 MB/s
fillrandom   :      34.767 micros/op;    3.2 MB/s
fillrandsync :     159.943 micros/op;    0.7 MB/s (10000 ops)
fillrandbatch :      15.055 micros/op;    7.3 MB/s
overwrite    :      43.660 micros/op;    2.5 MB/s
overwritebatch :      27.691 micros/op;    4.0 MB/s
readrandom   :      12.725 micros/op;
readseq      :       2.602 micros/op;   36.7 MB/s
fillrand100K :     606.333 micros/op;  157.3 MB/s (1000 ops)
fillseq100K  :     657.457 micros/op;  145.1 MB/s (1000 ops)
readseq      :      46.523 micros/op; 2049.9 MB/s
readrand100K :      54.943 micros/op;

Results after this CL:
fillseq      :      16.231 micros/op;    6.8 MB/s
fillseqsync  :     147.460 micros/op;    0.8 MB/s (10000 ops)
fillseqbatch :       2.294 micros/op;   48.2 MB/s
fillrandom   :      27.871 micros/op;    4.0 MB/s
fillrandsync :     141.979 micros/op;    0.8 MB/s (10000 ops)
fillrandbatch :      16.087 micros/op;    6.9 MB/s
overwrite    :      26.829 micros/op;    4.1 MB/s
overwritebatch :      19.014 micros/op;    5.8 MB/s
readrandom   :      11.657 micros/op;
readseq      :       0.155 micros/op;  615.0 MB/s
fillrand100K :     816.812 micros/op;  116.8 MB/s (1000 ops)
fillseq100K  :     754.689 micros/op;  126.4 MB/s (1000 ops)
readseq      :      47.112 micros/op; 2024.3 MB/s
readrand100K :     287.679 micros/op;

Results after this CL, with --use-rowids=1
fillseq      :      20.655 micros/op;    5.4 MB/s
fillseqsync  :     146.408 micros/op;    0.8 MB/s (10000 ops)
fillseqbatch :       2.045 micros/op;   54.1 MB/s
fillrandom   :      34.080 micros/op;    3.2 MB/s
fillrandsync :     154.582 micros/op;    0.7 MB/s (10000 ops)
fillrandbatch :      14.404 micros/op;    7.7 MB/s
overwrite    :      42.928 micros/op;    2.6 MB/s
overwritebatch :      27.829 micros/op;    4.0 MB/s
readrandom   :      12.835 micros/op;
readseq      :       2.483 micros/op;   38.4 MB/s
fillrand100K :     603.265 micros/op;  158.1 MB/s (1000 ops)
fillseq100K  :     662.473 micros/op;  144.0 MB/s (1000 ops)
readseq      :      45.478 micros/op; 2097.0 MB/s
readrand100K :      54.439 micros/op;
PiperOrigin-RevId: 283407101
2019-12-02 13:51:20 -08:00
Victor Costan c0d43142ff Merge pull request #756 from pwnall/third_party_2
Fixup for adding the third_party/googletest submodule.
2019-12-02 13:50:43 -08:00
Victor Costan e36b831851 Fixup for adding the third_party/googletest submodule. 2019-12-02 12:18:34 -08:00