VeloGraphX
High-performance dynamic graph analytics in C++20
Loading...
Searching...
No Matches
memory_budget.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <algorithm>
3
#include <cstddef>
4
#include <string>
5
namespace
velographx
{
6
class
MemoryBudget
{
7
public
:
8
explicit
MemoryBudget
(std::size_t
bytes
):bytes_(
bytes
){}
9
[[nodiscard]] std::size_t
bytes
()const noexcept{
return
bytes_;}
10
[[nodiscard]] std::size_t
resident_limit
(std::size_t graph_bytes,std::size_t algorithm_state_bytes)
const
noexcept
{
return
bytes_>algorithm_state_bytes?std::min(graph_bytes,bytes_-algorithm_state_bytes):0;}
11
private
:std::size_t bytes_;
12
};
13
inline
std::size_t
parse_memory_budget_gib
(std::size_t gib){
return
gib*1024ULL*1024ULL*1024ULL;}
14
}
velographx::MemoryBudget
Definition
memory_budget.hpp:6
velographx::MemoryBudget::resident_limit
std::size_t resident_limit(std::size_t graph_bytes, std::size_t algorithm_state_bytes) const noexcept
Definition
memory_budget.hpp:10
velographx::MemoryBudget::MemoryBudget
MemoryBudget(std::size_t bytes)
Definition
memory_budget.hpp:8
velographx::MemoryBudget::bytes
std::size_t bytes() const noexcept
Definition
memory_budget.hpp:9
velographx
Definition
algorithms.hpp:6
velographx::parse_memory_budget_gib
std::size_t parse_memory_budget_gib(std::size_t gib)
Definition
memory_budget.hpp:13
include
velographx
storage
memory_budget.hpp
Generated by
1.9.8