forked from facebook/rocksdb
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: Introducing RocksDBLite! Removes all the non-essential features and reduces the binary size. This effort should help our adoption on mobile. Binary size when compiling for IOS (`TARGET_OS=IOS m static_lib`) is down to 9MB from 15MB (without stripping) Test Plan: compiles :) Reviewers: dhruba, haobo, ljin, sdong, yhchiang Reviewed By: yhchiang CC: leveldb Differential Revision: https://reviews.facebook.net/D17835
- Loading branch information
1 parent
23c8f89
commit 588bca2
Showing
51 changed files
with
507 additions
and
348 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# RocksDBLite | ||
|
||
RocksDBLite is a project focused on mobile use cases, which don't need a lot of fancy things we've built for server workloads and they are very sensitive to binary size. For that reason, we added a compile flag ROCKSDB_LITE that comments out a lot of the nonessential code and keeps the binary lean. | ||
|
||
Some examples of the features disabled by ROCKSDB_LITE: | ||
* compiled-in support for LDB tool | ||
* No backupable DB | ||
* No support for replication (which we provide in form of TrasactionalIterator) | ||
* No advanced monitoring tools | ||
* No special-purpose memtables that are highly optimized for specific use cases | ||
|
||
When adding a new big feature to RocksDB, please add ROCKSDB_LITE compile guard if: | ||
* Nobody from mobile really needs your feature, | ||
* Your feature is adding a lot of weight to the binary. | ||
|
||
Don't add ROCKSDB_LITE compile guard if: | ||
* It would introduce a lot of code complexity. Compile guards make code harder to read. It's a trade-off. | ||
* Your feature is not adding a lot of weight. | ||
|
||
If unsure, ask. :) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.