Commit Graph

20 Commits (refactor)
 

Author SHA1 Message Date
Avril 491867fbbb
sync::oneshot::{Try,}{Send,Recv}Error{<T>,}: Added send + recv + generic error (with consuming variants for re-triable operations.)
9 months ago
Avril bea2631fb7
sync: Started sync `oneshot` channel impl
9 months ago
Avril bcaa9e0703
buffer: Added `ThreadPool<"scope = "static>` skeleton. Old design removed, redesign using `mpsc` (`crossbeam::channel`) instead of bare-bones channel impl we were using with `Arc<(Condvar, Mutex<...>)>` (See comment in `buffer::thread_pool` about previous impl"s shortcomings and needless complexity.)
9 months ago
Avril 0ce496cafd
Added `CachelineBuffer` and `AlignedCachelineBuffer`: Byte buffers that are the size of one cacheline (2nd: and aligned to cacheline boundary.)
9 months ago
Avril 03a3a1bfd0
part: Reworked capacity calculation (static & dynamic,) growth, and bounding to be globally compile-time configurable.
9 months ago
Avril 49e0dd6073
part: Removed unneeded 2nd thread spawn in `SearchPar`"s `search_combined()`: Backwards searching is done on main thread, forward searching is done on background thread.
9 months ago
Avril 9d2ae29e8b
part: `SearchSeq` now uses capacity-extended-switching between forward and backward searching (like `SearchPar` does.)
9 months ago
Avril f9068beca1
part: started `partition_one_with()`: Perform one nearest-needle-to-half partition on a buffer. The behaviour of this partition can be controlled with its `method` parameter. There are currently two: `SearchSeq` - search forward then backward in sequence. `SearchPar` - search forward and backward in parallel (NOTE: `SearchPar` is heavy and not well optimised, it will *always* spawn at least one thread.)
9 months ago
Avril ff898fc9b3
Added feature `mapped-file`: Attempt to `mmap()` input where possible to avoid reads. (NOTE: This should be replaced with a cfg-target-unix check, for now it is a default feature that can be disabled.)
9 months ago
Avril 5144539191
Re-worked cargo features & dependencies: Removed previous config features. Added `threads` parallelisation (+ auto `threads-async` internal io_uring support) feature and `unstable` feature for unstable-api using deps.
9 months ago
Avril ecbcc6ccfb
Removed useless TODO
3 years ago
Avril bd3af1b167
Removed `byte-strings` as a default feature: It causes a slight slowdown, and most people won"t need it"s functionality. `ignore-invalid-arguments` is thus prefered as default.
3 years ago
Avril 67aee7c96e
Added feature (default) `byte-strings`: Operate on raw byte strings instead of UTF8 strings.
3 years ago
Avril 7c85310ca5
Start feature `byte-strings`: Operate on raw byte strings instead of UTF8 strings.
3 years ago
Avril a705723837
Added README.md
3 years ago
Avril 5f8d472483
Added ignore-invalid-args: (default feature flag) Invalid utf8 arguments are ignored from the input arguments (as they are from the stdin lines.) If disabled, the invalid arg is kept and invalid utf8 characters are replaced with the unicode "invalid character" character instead.
3 years ago
Avril 0a78bcfd55
TODO: collect_input(): Use non-panicking functions for getting args/lines (so in release builds, no panic handler is generated)
3 years ago
Avril ed75b8b766
Added default features: buffer-output, ignore-output-errors
3 years ago
Avril 5a9edf3f5c
Added testing features for buffering output, and ignoring output errors.
3 years ago
Avril 47df7a1e91
Changed print output to line-by-line (can be re-set to debug print output with feature flag.)
3 years ago