小人鱼
1abe148ec1
update GC
9 months ago
小人鱼
20d7f118ea
update doc and fix bug
9 months ago
小人鱼
c982b2b12d
Merge remote-tracking branch 'our_github/v3' into version_3
9 months ago
小人鱼
1dd808967d
fix GC bug
9 months ago
xxy
8a4944a3c6
get delay
9 months ago
xxy
3714a14e2e
update doc
9 months ago
xxy
5cd77b83ef
tmp
9 months ago
小人鱼
444cd1c0a2
Merge branch 'version_3' of https://gitea.shuishan.net.cn/10225101483/XOY-leveldb-exp2 into version_3
9 months ago
小人鱼
bf94685e67
update benchmark
9 months ago
谢瑞阳
f9e1cd5d24
更新 'benchmarks/db_bench.cc'
9 months ago
小人鱼
dbe115b782
update benchmark
9 months ago
小人鱼
547e33d362
remove filesystem and fix bug for version_3
9 months ago
xxy
ced3c88035
update fixed file size
9 months ago
xxy
2a42349890
format
9 months ago
alexfisher
a6501bc750
fix multi threads'bug for same key pushing while GC
9 months ago
xxy
8d45bf108b
v3 roughly complete while mutex lacks in put
9 months ago
alexfisher
7e36e5f16f
update benchmark
9 months ago
xxy
bc111ba328
gc deadlock
9 months ago
xxy
9da542dfe1
gc dead
9 months ago
xxy
f7fa26c9df
gc pass make
9 months ago
alexfisher
8f88688b49
update version_1
9 months ago
xxy
05fd39cd6b
v3 except gc
9 months ago
xxy
60c257b829
v3 compaction unfinish
9 months ago
alexfisher
eb4046e099
update test for get_keys
9 months ago
alexfisher
6102110245
fix deletion bug for version 2
9 months ago
谢瑞阳
59cab35663
Merge pull request 'seems to be correct' ( #2 ) from xry into master
Reviewed-on: https://gitea.shuishan.net.cn/10225101483/XOY-leveldb-exp2/pulls/2
9 months ago
alexfisher
5096ce226e
seems to be correct
9 months ago
xxy
601dd601ca
benchmark
9 months ago
xxy
f5a7f355c2
benchmark
9 months ago
xxy
26058ff4d1
Merge branch 'xry' of https://gitea.shuishan.net.cn/10225101483/XOY-leveldb-exp2
merge branch
9 months ago
xxy
8df4ec46cb
benchmark
9 months ago
alexfisher
54b533d7cb
version 2 roughly complete with GC
9 months ago
alexfisher
6b1da0d8b4
update imp 2
9 months ago
谢瑞阳
b22230c65d
Merge pull request 'test add' ( #1 ) from xxy into master
Reviewed-on: https://gitea.shuishan.net.cn/10225101483/XOY-leveldb-exp2/pulls/1
9 months ago
xxy
c260065234
revise test
10 months ago
xxy
add24e7eee
move serialize and search by field to test
10 months ago
alexfisher
50b731220b
k/v seperation version 2 roughly finish
10 months ago
alexfisher
730de90449
basic function roughly complete
10 months ago
Austin Sullivan
23e35d792b
Merge pull request #1202 from pkasting/main
[jumbo] Add begin()/end() to Slice.
1 year ago
leveldb Team
eb31d19999
Allow compaction to finish in TEST_CompactRange
Waits for a current transaction to finish in TEST_CompactRange when the
`background_work_finished_signal_` signal may be emitted due to an error. This is a prospective fix for flaky crashes observed in b/351680196#comment5.
PiperOrigin-RevId: 663457574
1 year ago
Peter Kasting
2cc36eb566
[jumbo] Add begin()/end() to Slice.
This allows this type to meet the requirements of e.g.
std::ranges::range, which is necessary for it to work with the
std::span range constructor, or the "non-legacy" constructor for
Chromium's base::span.
Bug: none
1 year ago
leveldb Team
068d5ee1a3
leveldb: Check slice length in Footer::DecodeFrom()
Without this check decoding the footer in Table::Open() can read
uninitialized bytes from a buffer allocated on the stack if the file
was unexpectedly short.
In practice this is probably fine since this function validates a magic
number but MSan complains about branching on uninitialized data.
PiperOrigin-RevId: 525271012
2 years ago
leveldb Team
c61238dcf3
Support Zstd compression level in Leveldb
PiperOrigin-RevId: 520556840
2 years ago
Victor Costan
77d66aaf3e
Fix GitHub CI on Linux.
This PR temporarily removes a package that is currently broken on
GitHub's Ubuntu 22.04 installation. This is the most expedient way to
make the CI green again, so we can test any other changes we may want to
land.
PiperOrigin-RevId: 520206940
2 years ago
Victor Costan
9cbbc5fb75
Merge pull request #1104 from reillyeon:chromium_env
PiperOrigin-RevId: 520172744
2 years ago
Victor Costan
80d858fb2a
Merge pull request #1106 from reillyeon:run_many
PiperOrigin-RevId: 520171344
2 years ago
leveldb Team
1d6e8d64ee
Add support for Zstd-based compression in LevelDB.
This change implements support for Zstd-based compression in LevelDB. Building
up from the Snappy compression (which has been supported since inception), this
change adds Zstd as an alternate compression algorithm.
We are implementing this to provide alternative options for users who might
have different performance and efficiency requirements. For instance, the
Zstandard website (https://facebook.github.io/zstd/ ) claims that the Zstd
algorithm can achieve around 30% higher compression ratios than Snappy, with
relatively smaller (~10%) slowdowns in de/compression speeds.
Benchmarking results:
$ blaze-bin/third_party/leveldb/db_bench
LevelDB: version 1.23
Date: Thu Feb 2 18:50:06 2023
CPU: 56 * Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
CPUCache: 35840 KB
Keys: 16 bytes each
Values: 100 bytes each (50 bytes after compression)
Entries: 1000000
RawSize: 110.6 MB (estimated)
FileSize: 62.9 MB (estimated)
------------------------------------------------
fillseq : 2.613 micros/op; 42.3 MB/s
fillsync : 3924.432 micros/op; 0.0 MB/s (1000 ops)
fillrandom : 3.609 micros/op; 30.7 MB/s
overwrite : 4.508 micros/op; 24.5 MB/s
readrandom : 6.136 micros/op; (864322 of 1000000 found)
readrandom : 5.446 micros/op; (864083 of 1000000 found)
readseq : 0.180 micros/op; 613.3 MB/s
readreverse : 0.321 micros/op; 344.7 MB/s
compact : 827043.000 micros/op;
readrandom : 4.603 micros/op; (864105 of 1000000 found)
readseq : 0.169 micros/op; 656.3 MB/s
readreverse : 0.315 micros/op; 350.8 MB/s
fill100K : 854.009 micros/op; 111.7 MB/s (1000 ops)
crc32c : 1.227 micros/op; 3184.0 MB/s (4K per op)
snappycomp : 3.610 micros/op; 1081.9 MB/s (output: 55.2%)
snappyuncomp : 0.691 micros/op; 5656.3 MB/s
zstdcomp : 15.731 micros/op; 248.3 MB/s (output: 44.1%)
zstduncomp : 4.218 micros/op; 926.2 MB/s
PiperOrigin-RevId: 509957778
2 years ago
Reilly Grant
13ebad24dc
Address comments.
2 years ago
Reilly Grant
df68d9578c
Fix EnvTest.RunMany to allow parallel execution
As allowed by the documentation for Env::Schedule(), ChromiumEnv may
execute functions on multiple threads and guarantees no sequencing.
EnvTest.RunMany assumed that functions ran in order, is the case for the
stock PosixEnv and WindowsEnv implementations. This change updates the
test to not assume sequential execution.
2 years ago
Reilly Grant
bfae97ff7d
Roll third_party/benchmark to f7547e29cc
Fixes an unused variable warning.
2 years ago