| 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. |