VeloGraphX
High-performance dynamic graph analytics in C++20
Loading...
Searching...
No Matches
compressed_adjacency.hpp File Reference
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <stdexcept>
#include <vector>

Go to the source code of this file.

Classes

struct  velographx::storage::BlockedAdjacency
 
struct  velographx::storage::FixedWidthDeltaBlock
 
struct  velographx::storage::SimdFriendlyAdjacency
 

Namespaces

namespace  velographx
 
namespace  velographx::storage
 

Typedefs

using velographx::storage::VertexId = std::uint32_t
 

Functions

std::vector< std::uint32_t > velographx::storage::delta_encode (const std::vector< VertexId > &ids)
 
std::vector< VertexIdvelographx::storage::delta_decode (const std::vector< std::uint32_t > &deltas)
 
void velographx::storage::variable_byte_encode_uint32 (std::uint32_t value, std::vector< std::uint8_t > &out)
 
std::uint32_t velographx::storage::variable_byte_decode_uint32 (const std::vector< std::uint8_t > &data, std::size_t &offset)
 
std::vector< std::uint8_t > velographx::storage::variable_byte_delta_encode (const std::vector< VertexId > &ids)
 
std::vector< VertexIdvelographx::storage::variable_byte_delta_decode (const std::vector< std::uint8_t > &data)
 
BlockedAdjacency velographx::storage::blocked_variable_byte_encode (const std::vector< VertexId > &ids, std::size_t block_size=128)
 
std::vector< VertexIdvelographx::storage::blocked_variable_byte_decode (const BlockedAdjacency &encoded)
 
std::uint8_t velographx::storage::required_lane_bytes (std::uint32_t max_delta) noexcept
 
void velographx::storage::append_fixed_width_uint32 (std::uint32_t value, std::uint8_t lane_bytes, std::vector< std::uint8_t > &out)
 
std::uint32_t velographx::storage::read_fixed_width_uint32 (const std::vector< std::uint8_t > &payload, std::size_t offset, std::uint8_t lane_bytes)
 
SimdFriendlyAdjacency velographx::storage::simd_friendly_delta_encode (const std::vector< VertexId > &ids, std::size_t block_size=128)
 
std::vector< VertexIdvelographx::storage::simd_friendly_delta_decode (const SimdFriendlyAdjacency &encoded)
 
double velographx::storage::compression_ratio_bytes (const std::vector< VertexId > &ids, const std::vector< std::uint8_t > &encoded) noexcept
 
double velographx::storage::compression_ratio_bytes (const std::vector< VertexId > &ids, const SimdFriendlyAdjacency &encoded) noexcept