Name: LevelDB: A Fast Persistent Key-Value Store
Short Name: leveldb
URL: https://github.com/google/leveldb.git
Version: 1.23
License: New BSD
License File: src/LICENSE
Security Critical: yes
Shipped: yes
Description:
Alternative to SQLite.
Prefer using SQLite when feasible. For googlers, please refer to
go/use-sqlite-in-chrome for more details.
Currently using (not yet released) manifest reuse feature for all platforms
except Chrome OS.
Local Additions:
* GN file for building in chromium
* port/port_chromium.{h,cc} and env_chromium.{h,cc} provide chromium
implementations of primitives used by leveldb. E.g. threading, file handling,
etc. env_chromium.h allows re-use of some utility functions.
* chromium_logger.h was copied from src/util/posix_logger.h and updated to use
chrome primitives in place of some posix primitives
* TRACE macros/thread name for chrome://tracing diagnostics
* Handle in-process exclusive file locks, based on src/util/env_posix.cc
* Unit tests for the Chromium environment.
* db_bench is built as leveldb_db_bench in Chromium.
* leveldb_chrome::NewMemEnv() to create memory Env instances that are tracked to
know if a database open request is in-memory. These memory Env instances report
memory usage to memory-infra.
* leveldb_chrome.cc and env_chromium.cc to use
base::SysInfo::IsLowEndDeviceOrPartialLowEndModeEnabled() instead of
base::SysUtils::IsLowEndDevice(). Will run an experiment with
PartialLowEndMode enabled on Android 4gb and 6gb devices to see how
memory performance and cpu performance will change.