chromium/third_party/leveldatabase/README.chromium

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.