谢瑞阳
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 tygodni temu
xxy
4507932a5d
minor compaction test ttl & enhance effeciency of reading current time
2 tygodni temu
alexfisher
3c7369b76c
update readme and report
2 tygodni temu
alexfisher
912fdbc849
update report
2 tygodni temu
alexfisher
359b3ad2ed
update report
2 tygodni temu
xxy
f239b9c636
加入注释和ttl的实验报告
2 tygodni temu
alexfisher
6c5852d421
add new test
2 tygodni temu
xxy
48bf680d9d
finish obselote record collection function
3 tygodni temu
xxy
c8e0d2b2c6
ttl in the end
3 tygodni temu
alexfisher
b3f4bb4214
use value instead of new field to cover ttl, can run successfully without garbage collection
3 tygodni temu
ssynn
879fd25d02
修改Readme
1 miesiąc temu
ssynn
ec884a8bff
添加ttl测试用例
1 miesiąc temu
Austin Sullivan
23e35d792b
Merge pull request #1202 from pkasting/main
[jumbo] Add begin()/end() to Slice.
3 miesięcy temu
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 miesięcy temu
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 miesięcy temu
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 rok temu
leveldb Team
c61238dcf3
Support Zstd compression level in Leveldb
PiperOrigin-RevId: 520556840
1 rok temu
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 rok temu
Victor Costan
9cbbc5fb75
Merge pull request #1104 from reillyeon:chromium_env
PiperOrigin-RevId: 520172744
1 rok temu
Victor Costan
80d858fb2a
Merge pull request #1106 from reillyeon:run_many
PiperOrigin-RevId: 520171344
1 rok temu
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 rok temu
Reilly Grant
13ebad24dc
Address comments.
1 rok temu
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 rok temu
Reilly Grant
bfae97ff7d
Roll third_party/benchmark to f7547e29cc
Fixes an unused variable warning.
1 rok temu
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 rok temu
Sanjay Ghemawat
fb644cb445
Stop future writes if a log file Close() fails.
See https://github.com/google/leveldb/issues/1081
PiperOrigin-RevId: 499519182
1 rok temu
leveldb Team
aa5479bbf4
Fix maintenance text
PiperOrigin-RevId: 461725664
2 lat temu
Victor Costan
ca684d00b5
Fix Markdown formatting in README.
PiperOrigin-RevId: 461722304
2 lat temu
leveldb Team
7b650f85de
Add note on current development state
PiperOrigin-RevId: 461695246
2 lat temu
Victor Costan
0a9b7b8e95
Merge pull request #1036 from chjj:benchmark-compression
PiperOrigin-RevId: 461612590
2 lat temu
leveldb Team
fff74f20ff
Use GTEST_SKIP in leveldb:table_test
This replaces a usage of fprintf to stderr
PiperOrigin-RevId: 454620969
2 lat temu
Christopher Jeffrey
9e1c274074
Add compression flag to benchmarks.
2 lat temu
Victor Costan
d019e3605f
Merge pull request #1008 from pkasting:main
PiperOrigin-RevId: 447466466
2 lat temu
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 lat temu
Victor Costan
4fb146810c
The master branch was renamed to main.
PiperOrigin-RevId: 422409116
2 lat temu
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 lat temu
Victor Costan
1b51a3a968
Merge pull request #506 from lingbin:fix_issue_505
PiperOrigin-RevId: 420787858
2 lat temu
Victor Costan
a797000713
Merge pull request #893 from myccccccc:master
PiperOrigin-RevId: 420783873
2 lat temu
Victor Costan
bf4fcd85b5
Merge pull request #888 from JayiceZ:fix_typo
PiperOrigin-RevId: 420783487
2 lat temu
Victor Costan
8a68093c84
Merge pull request #652 from caodhuan:master
PiperOrigin-RevId: 420782536
2 lat temu
Victor Costan
bfea90d883
Merge pull request #744 from HenryRLee:patch-1
PiperOrigin-RevId: 420781374
2 lat temu
Victor Costan
bda46dd00d
Merge pull request #602 from andyli029:feature_fix_lack_tag_comment
PiperOrigin-RevId: 420781095
2 lat temu
Victor Costan
ec4e3a5cb3
Merge pull request #747 from zltl:patch-1
PiperOrigin-RevId: 420778907
2 lat temu
Victor Costan
3ab94e7da8
Merge branch 'master' into fix_issue_505
2 lat temu
Victor Costan
3180f9cb40
Merge branch 'master' into patch-1
2 lat temu
Victor Costan
8ccb79b57e
Merge pull request #901 from mapleFU:opt-using-move
PiperOrigin-RevId: 420662938
2 lat temu
Victor Costan
74f0be238f
Merge pull request #897 from raynolmenezes:patch-1
PiperOrigin-RevId: 420662891
2 lat temu
Victor Costan
56f2394250
Merge pull request #945 from xiong-ang:master
PiperOrigin-RevId: 420645727
2 lat temu
Victor Costan
068a0f1214
Merge pull request #934 from BilyZ98:master
PiperOrigin-RevId: 420645080
2 lat temu
Victor Costan
8f5aa6375e
Merge pull request #919 from wineway:fix_posix_test
PiperOrigin-RevId: 420644954
2 lat temu