Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
KIwabuchi committed Oct 11, 2023
1 parent 2695ad0 commit 50e85d0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ option(BUILD_VERIFICATION "Build verification programs" OFF)
set(COMPILER_DEFS "" CACHE STRING "A list of Metall compile definitions to be added to all targets")

# ---------- Experimental options ---------- #
#option(USE_ANONYMOUS_NEW_MAP "Use the anonymous map when creating a new map region" OFF)
set(UMAP_ROOT "" CACHE PATH "UMap installed root directory")

option(ONLY_DOWNLOAD_GTEST "Only downloading Google Test" OFF)
Expand Down
29 changes: 17 additions & 12 deletions docs/readthedocs/basics/compile_time_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,31 @@ There are some compile-time options (C/C++ macro) as follows to configure the be
- The default capacity of a segment/datastore.
- This value is used when a user does not specify the capacity of a datastore when creating it.


- METALL_SEGMENT_BLOCK_SIZE=*bytes*
- The segment block size used by the default segment storage manager.
- Metall allocates a backing file with this size.


- METALL_DISABLE_FREE_FILE_SPACE
- If defined, Metall does not free file space.


- METALL_VERBOSE_SYSTEM_SUPPORT_WARNING
- If defined, Metall shows warning messages at compile time if the system does not support important features.


- METALL_DISABLE_CONCURRENCY
- Disable concurrency support in Metall. This option is useful when Metall is used in a single-threaded application.
- If this macro is defined, applications must not call Metall concurrently from multiple threads.
- Even if this option is enabled, Metall still uses multiple threads for background tasks, such as synchronizing segment files.

- METALL_USE_SORTED_BIN
- If defined, Metall stores addresses in sorted order in the bin directory.
- This option enables Metall to use memory space more efficiently, but it increases the cost of the bin directory operations.

- METALL_FREE_SMALL_OBJECT_SIZE_HINT=*bytes*
- If defined, Metall tries to free space when an object equal to or larger than the specified bytes is deallocated.
- Wll be rounded up to a multiple of the page size internally.
- Will be rounded up to a multiple of the page size internally.


**Macros for the segment storage manager:**

- METALL_SEGMENT_BLOCK_SIZE=*bytes*
- The segment block size.
- Metall allocates a backing file with this size.

- METALL_DISABLE_FREE_FILE_SPACE
- If defined, Metall does not free file space.

- METALL_USE_ANONYMOUS_NEW_MAP
- If defined, Metall uses anonymous memory mapping instead of file mapping when creating a new map region.

0 comments on commit 50e85d0

Please sign in to comment.