Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream LevelDB 1.20 #1

Merged
merged 11 commits into from
Jun 13, 2017
Merged

Conversation

sipa
Copy link

@sipa sipa commented Apr 13, 2017

No description provided.

corrado and others added 10 commits September 28, 2016 10:52
…nefficient in colossus.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134391640
Background compaction can create an unbounded number of
leveldb::RandomAccessFile instances. On 64-bit systems mmap is used and
file descriptors are only used beyond a certain number of mmap's.
32-bit systems to not use mmap at all. leveldb::RandomAccessFile does not
observe Options.max_open_files so compaction could exhaust the file
descriptor limit.

This change uses getrlimit to determine the maximum number of open
files and limits RandomAccessFile to approximately 20% of that value.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143505556
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146841327
This change authored by vadimskipin and submitted via:

    google#309

Changes made to support iOS builds and other architectures
without support for SSE 4.2.

db_bench reports original crc32 speed at:

    crc32c : 3.610 micros/op; 1082.0 MB/s (4K per op)

with this change performance has increased to:

    crc32c : 0.843 micros/op; 4633.6 MB/s (4K per op)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148694935
Markdown is more readable in a text editor and when hosted
on GitHub is more readable than HTML.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148830423
Prior index.html was using rawgit.com which doesn't process
Markdown and therefore only serves the markdown source.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148902180
LE_LOAD64 is only used when _mm_crc32_u64 is available, on 64-bit x86 processors.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148906169
env_test.cc defines EnvPosixTest which tests the Env implementation returned by Env::Default(). The naming is a bit unfortunate, as the tests in env_test.cc are written against the Env contract, and therefore are applicable to any Env implementation. An instance of the confusion caused by the naming is [] which added a dependency from env_test.cc to EnvPosixTestHelper, which is closely coupled to EnvPosix.

This change disentangles EnvPosix-specific test code into a env_posix_test.cc file. The code there uses EnvPosixTestHelper and specifically targets the EnvPosix implementation. env_test.cc now implements EnvTest, and contains tests that are also applicable to other ports, which may define their own Env implementation.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148914642
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148937577
@sipa
Copy link
Author

sipa commented Apr 13, 2017

@tmagik I had to delete and recreate this repository in order to fix up the missing "Forked from" marker above (which made PRs complicated). I didn't mean to delete your comments on the earlier version of this PR, but perhaps they're more appropriate as a separate issue (here, or on the https://github.com/bitcoin/bitcoin/ repo)?

@tmagik
Copy link

tmagik commented Apr 13, 2017 via email

@sipa
Copy link
Author

sipa commented Apr 13, 2017

@tmagik Those are comments that belong in an issue on https://github.com/bitcoin/bitcoin/.

@theuni
Copy link

theuni commented Apr 13, 2017

optimized crc32 is exciting, IIRC that's a pretty significant bottleneck.

<cfields_> sipa: for leveldb merge, whenever it's needed: theuni/bitcoin@2cb7dda

@gmaxwell
Copy link

gmaxwell commented Jun 4, 2017

ACK. (tested previously)

@laanwj laanwj merged commit 196962f into bitcoin-core:bitcoin-fork Jun 13, 2017
laanwj added a commit that referenced this pull request Jun 13, 2017
196962f Add AcceleratedCRC32C to port_win.h (Pieter Wuille)
a53934a Increase leveldb version to 1.20. (costan)
f3f1397 Separate Env tests from PosixEnv tests. (costan)
eb4f097 leveldb: Fix compilation warnings in port_posix_sse.cc on x86 (32-bit). (costan)
d0883b6 Fixed path to doc file: index.md. (cmumford)
7fa2094 Convert documentation to markdown. (cmumford)
ea175e2 Implement support for Intel crc32 instruction (SSE 4.2) (costan)
95cd743 Including <limits> for std::numeric_limits. (cmumford)
646c358 Limit the number of read-only files the POSIX Env will have open. (cmumford)
a2fb086 Add option for max file size. The currend hard-coded value of 2M is inefficient in colossus. (corrado)

Tree-SHA512: 27df89e36313889cbe87d9e0e02e74c70c086a1f6b0d4f3fd98bc18d3b87aa94848864b31f39fe3c91870e3bba6ec7c355ec3209a7cfd3d16b117782c7c3245a
@laanwj laanwj mentioned this pull request Nov 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants