谢瑞阳
e45c170303
Merge pull request 'minor compaction test ttl & enhance effeciency of reading current time' ( #3 ) from xxy into master
Reviewed-on: https://gitea.shuishan.net.cn/10225101483/XOY-Leveldb/pulls/3
2 settimane fa
xxy
4507932a5d
minor compaction test ttl & enhance effeciency of reading current time
2 settimane fa
alexfisher
3c7369b76c
update readme and report
2 settimane fa
alexfisher
912fdbc849
update report
2 settimane fa
alexfisher
359b3ad2ed
update report
2 settimane fa
xxy
f239b9c636
加入注释和ttl的实验报告
2 settimane fa
alexfisher
6c5852d421
add new test
2 settimane fa
xxy
48bf680d9d
finish obselote record collection function
3 settimane fa
xxy
c8e0d2b2c6
ttl in the end
3 settimane fa
alexfisher
b3f4bb4214
use value instead of new field to cover ttl, can run successfully without garbage collection
3 settimane fa
ssynn
879fd25d02
修改Readme
1 mese fa
ssynn
ec884a8bff
添加ttl测试用例
1 mese fa
Austin Sullivan
23e35d792b
Merge pull request #1202 from pkasting/main
[jumbo] Add begin()/end() to Slice.
3 mesi fa
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
3 mesi fa
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
4 mesi fa
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
1 anno fa
leveldb Team
c61238dcf3
Support Zstd compression level in Leveldb
PiperOrigin-RevId: 520556840
1 anno fa
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
1 anno fa
Victor Costan
9cbbc5fb75
Merge pull request #1104 from reillyeon:chromium_env
PiperOrigin-RevId: 520172744
1 anno fa
Victor Costan
80d858fb2a
Merge pull request #1106 from reillyeon:run_many
PiperOrigin-RevId: 520171344
1 anno fa
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
1 anno fa
Reilly Grant
13ebad24dc
Address comments.
1 anno fa
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.
1 anno fa
Reilly Grant
bfae97ff7d
Roll third_party/benchmark to f7547e29cc
Fixes an unused variable warning.
1 anno fa
Reilly Grant
89ea7f2643
Fix tests when run against ChromiumEnv
There are a couple differences between ChromiumEnv and
PosixEnv/WindowsEnv which cause test failures that are fixed (or at
least patched over) in this change:
* NewSequentialFile() and NewRandomAccessFile() return Status::IOError
rather than Status::NotFound when a file is not found, due to
https://crbug.com/760362 . This means a few tests need to expect a
different error result.
* GetChildren() never returns the '.' or '..' entries.
* 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. The test has been
updated.
1 anno fa
Sanjay Ghemawat
fb644cb445
Stop future writes if a log file Close() fails.
See https://github.com/google/leveldb/issues/1081
PiperOrigin-RevId: 499519182
1 anno fa
leveldb Team
aa5479bbf4
Fix maintenance text
PiperOrigin-RevId: 461725664
2 anni fa
Victor Costan
ca684d00b5
Fix Markdown formatting in README.
PiperOrigin-RevId: 461722304
2 anni fa
leveldb Team
7b650f85de
Add note on current development state
PiperOrigin-RevId: 461695246
2 anni fa
Victor Costan
0a9b7b8e95
Merge pull request #1036 from chjj:benchmark-compression
PiperOrigin-RevId: 461612590
2 anni fa
leveldb Team
fff74f20ff
Use GTEST_SKIP in leveldb:table_test
This replaces a usage of fprintf to stderr
PiperOrigin-RevId: 454620969
2 anni fa
Christopher Jeffrey
9e1c274074
Add compression flag to benchmarks.
2 anni fa
Victor Costan
d019e3605f
Merge pull request #1008 from pkasting:main
PiperOrigin-RevId: 447466466
2 anni fa
Peter Kasting
8b5b1ca96c
Fixes for C++20 support.
Structs with user-declared constructors are no longer considered
aggregates. Just remove the constructor declaration where applicable.
Bug: chromium:1284275
2 anni fa
Victor Costan
4fb146810c
The master branch was renamed to main.
PiperOrigin-RevId: 422409116
2 anni fa
Victor Costan
479a1f4e9b
Update contributing guidelines.
* Align CONTRIBUTING.md with the google/new-project template.
* Explain the support story for the CMake config.
PiperOrigin-RevId: 421120645
2 anni fa
Victor Costan
1b51a3a968
Merge pull request #506 from lingbin:fix_issue_505
PiperOrigin-RevId: 420787858
2 anni fa
Victor Costan
a797000713
Merge pull request #893 from myccccccc:master
PiperOrigin-RevId: 420783873
2 anni fa
Victor Costan
bf4fcd85b5
Merge pull request #888 from JayiceZ:fix_typo
PiperOrigin-RevId: 420783487
2 anni fa
Victor Costan
8a68093c84
Merge pull request #652 from caodhuan:master
PiperOrigin-RevId: 420782536
2 anni fa
Victor Costan
bfea90d883
Merge pull request #744 from HenryRLee:patch-1
PiperOrigin-RevId: 420781374
2 anni fa
Victor Costan
bda46dd00d
Merge pull request #602 from andyli029:feature_fix_lack_tag_comment
PiperOrigin-RevId: 420781095
2 anni fa
Victor Costan
ec4e3a5cb3
Merge pull request #747 from zltl:patch-1
PiperOrigin-RevId: 420778907
2 anni fa
Victor Costan
3ab94e7da8
Merge branch 'master' into fix_issue_505
2 anni fa
Victor Costan
3180f9cb40
Merge branch 'master' into patch-1
2 anni fa
Victor Costan
8ccb79b57e
Merge pull request #901 from mapleFU:opt-using-move
PiperOrigin-RevId: 420662938
2 anni fa
Victor Costan
74f0be238f
Merge pull request #897 from raynolmenezes:patch-1
PiperOrigin-RevId: 420662891
2 anni fa
Victor Costan
56f2394250
Merge pull request #945 from xiong-ang:master
PiperOrigin-RevId: 420645727
2 anni fa
Victor Costan
068a0f1214
Merge pull request #934 from BilyZ98:master
PiperOrigin-RevId: 420645080
2 anni fa
Victor Costan
8f5aa6375e
Merge pull request #919 from wineway:fix_posix_test
PiperOrigin-RevId: 420644954
2 anni fa