% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/shard-package.R
\docType{package}
\name{shard-package}
\alias{shard}
\alias{shard-package}
\title{shard: Deterministic, Zero-Copy Parallel Execution for R}
\description{
Provides a parallel execution runtime for R that emphasizes deterministic memory behavior and efficient handling of large shared inputs. 'shard' enables zero-copy parallel reads via shared/memory-mapped segments, encourages explicit output buffers to avoid large result aggregation, and supervises worker processes to mitigate memory drift via controlled recycling. Diagnostics report peak memory usage, end-of-run memory return, and hidden copy/materialization events to support reproducible performance benchmarking.
}
\section{Core API}{

\itemize{
\item \code{\link[=shard_map]{shard_map()}} - Primary parallel execution entry point
\item \code{\link[=shards]{shards()}} - Create shard descriptors with autotuning
\item \code{\link[=results]{results()}} - Extract results from a shard_map run
\item \code{\link[=succeeded]{succeeded()}} - Check if shard_map completed without failures
}
}

\section{Zero-Copy Shared Data}{

\itemize{
\item \code{\link[=share]{share()}} - Share an R object for parallel access
\item \code{\link[=fetch]{fetch()}} - Retrieve data from a shared object
\item \code{\link[=materialize]{materialize()}} - Alias for fetch()
\item \code{\link[=is_shared]{is_shared()}} - Check if an object is shared
\item \code{\link[=shared_info]{shared_info()}} - Get information about a shared object
}
}

\section{Output Buffers}{

\itemize{
\item \code{\link[=buffer]{buffer()}} - Create typed writable output buffer
\item \code{\link[=buffer_open]{buffer_open()}} - Open existing buffer from another process
\item \code{\link[=buffer_path]{buffer_path()}} - Get buffer path for cross-process sharing
\item \code{\link[=buffer_info]{buffer_info()}} - Get buffer information
\item \code{\link[=buffer_close]{buffer_close()}} - Close and release buffer
}
}

\section{Worker Pool Management}{

\itemize{
\item \code{\link[=pool_create]{pool_create()}} - Create a supervised worker pool
\item \code{\link[=pool_stop]{pool_stop()}} - Stop the worker pool
\item \code{\link[=pool_status]{pool_status()}} - Check worker status and RSS
\item \code{\link[=pool_health_check]{pool_health_check()}} - Monitor and recycle workers
}
}

\section{Task Dispatch}{

\itemize{
\item \code{\link[=dispatch_chunks]{dispatch_chunks()}} - Execute chunks with supervision
\item \code{\link[=pool_lapply]{pool_lapply()}} - Parallel lapply with supervision
\item \code{\link[=pool_sapply]{pool_sapply()}} - Parallel sapply with supervision
}
}

\seealso{
Useful links:
\itemize{
  \item \url{https://bbuchsbaum.github.io/shard/}
  \item \url{https://github.com/bbuchsbaum/shard}
  \item Report bugs at \url{https://github.com/bbuchsbaum/shard/issues}
}

}
\author{
\strong{Maintainer}: Bradley Buchsbaum \email{brad.buchsbaum@gmail.com} [copyright holder]

}
\keyword{internal}
