pub struct ConnectionCostMatrixLoader {}Expand description
Loader for connection cost matrix data from disk files.
Implementations§
Source§impl ConnectionCostMatrixLoader
impl ConnectionCostMatrixLoader
Sourcepub fn load(input_dir: &Path) -> LinderaResult<ConnectionCostMatrix>
pub fn load(input_dir: &Path) -> LinderaResult<ConnectionCostMatrix>
Sourcepub fn load_mmap(input_dir: &Path) -> LinderaResult<ConnectionCostMatrix>
pub fn load_mmap(input_dir: &Path) -> LinderaResult<ConnectionCostMatrix>
Load connection cost matrix using memory-mapped file.
This is the zero-copy path: an mmap base is page-aligned and
matrix.mtx already stores its costs as little-endian i16 in the
in-memory layout, so ConnectionCostMatrix::load views the payload
in place instead of decoding it into an owned Vec<i16>. Loading is
O(1) in the matrix size and costs no anonymous memory; the pages are
faulted in lazily as tokenization touches them. UniDic’s matrix alone
is 71.5 MB, so this is the bulk of that dictionary’s load cost.
§Arguments
input_dir- Path to the directory containing matrix.mtx.
§Returns
A ConnectionCostMatrix loaded via memory mapping.
Auto Trait Implementations§
impl Freeze for ConnectionCostMatrixLoader
impl RefUnwindSafe for ConnectionCostMatrixLoader
impl Send for ConnectionCostMatrixLoader
impl Sync for ConnectionCostMatrixLoader
impl Unpin for ConnectionCostMatrixLoader
impl UnsafeUnpin for ConnectionCostMatrixLoader
impl UnwindSafe for ConnectionCostMatrixLoader
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.