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