SpiecsEngine
 
Loading...
Searching...
No Matches

◆ AlignUp()

size_t Spices::MemoryPool::AlignUp ( size_t size)
static

Align up memory bytes.

Parameters
[in]sizememory block bytes.
Returns
Returns Align up size.

Definition at line 78 of file MemoryPool.cpp.

79 {
80 if (size <= static_cast<size_t>( 128)) return MemoryLibrary::align_up<size_t>(size, 8); /* @brief align up to 8B , if size is less than 128B. (16) */
81 else if (size <= static_cast<size_t>(1 * 1024)) return MemoryLibrary::align_up<size_t>(size, 16); /* @brief align up to 16B , if size is less than 1KB. (56) */
82 else if (size <= static_cast<size_t>(8 * 1024)) return MemoryLibrary::align_up<size_t>(size, 128); /* @brief align up to 128B, if size is less than 8KB. (56) */
83 else if (size <= static_cast<size_t>(64 * 1024)) return MemoryLibrary::align_up<size_t>(size, 1024); /* @brief align up to 1KB , if size is less than 64KB. (56) */
84 else if (size <= static_cast<size_t>(256 * 1024)) return MemoryLibrary::align_up<size_t>(size, 8 * 1024); /* @brief align up to 8KB , if size is less than 256KB.(24) */
85 else return MemoryLibrary::align_up<size_t>(size, 1 << PAGE_SHIFT); /* @brief align up to page */
86 }
static constexpr size_t PAGE_SHIFT
8KB in a page.
Definition MemoryPool.h:44