This repository has been archived by the owner on Jul 11, 2019. It is now read-only.
Releases: mmstick/parallel
Releases · mmstick/parallel
0.10.1: Tempdir Implemented
- Some potentially unsafe
joblog
-related code was removed. - The
--tmpdir
/--tempdir
parameter has been implemented. - Much filepath-related code has been deprecated and thus removed.
0.10.0: Joblog, Shellquote, Refactoring, & Optimizations
- Implemented the joblog parameter which may be invoked with --joblog FILE
- Properly implemented the shellquote parameter and removed the quote parameter
DiskBufferWriter
was replaced withBufWriter<File>
for performance reasons- A
misc
module was added which contains useful traits such asNumToA
andDigits
. - Integer to string optimizations are performed to eliminate heap allocations.
- Instead of converting numbers into strings with the
to_string()
method, numbers will be converted and stored into a shared byte array via anumtoa()
method
- Instead of converting numbers into strings with the
- A ton of refactoring work to make the source code easier to manage
0.9.0: Feature Additions
New Features Added
- memfree: Only execute the next task when the available memory is above a certain threshold.
- shebang: Adds ability to use the parallel application as an interpreter in a shebang line.
- eta: Track the average runtime of processes and print ETA statistics.
- timeout: When a process is running too long, kill the process.
- delay: Delay launching processes for a specified time when set.
Known Issues
- The
timeout
parameter has no effect on processes running within a shell. - The
-n
parameter does not work correctly with{N}
tokens. - It's no longer possible to compile a Windows binary from a Linux host (sys-info conflict)
0.8.0: Max Arguments + Implementation Fixes
This release makes the implementation another step closer to the GNU implementation.
- The
:::+
and::::+
modes have been fixed. - The
-n
and--no-shell
flags have been removed as they are no longer required. - The
-n
and--max-args
flags have been added. - The
{#^}
token has been renamed to{##}
to match the GNU implementation - The
{#}
token now starts counting from 1 instead of 0. - A number of source code improvements has been made to the original parser. Many more improvements could be made to this part of the application though.
0.7.0: Temp Disk Buffering & Better Argument Splitting
- Implemented
ArgumentSplitter
which splits arguments better when not using a shell.- Handles both double and single quotes unlike the previous implementation
- NOTE: Does not yet support environment variables
- Implemented temporary disk buffering for command outputs
- The memory-buffered implementation has been replaced with this disk-based version.
- Half as fast as the memory-buffered approach but uses significantly less memory.
- NOTE: At a later date I will re-add support for memory-buffering
- Improved permutation speed when permutating multiple lists of arguments.
- The permutate crate was updated to version
0.2.0
- Allocations will no longer occur after the first iteration, as successive permutations will now re-use the buffer created by the first permutation.
- The permutate crate was updated to version
0.6.5: Bug Fix Release
The problem with programming past midnight is that you make mistakes. The following issues are now corrected:
- The shell is now disabled/enabled properly when it is not needed
- Dash is only searched for and enabled if the shell is enabled
- A command needs a shell if it has a
|
pipe
0.6.4: Performance Optimizations
- Heap allocations have been drastically mitigated, improving performance and reducing memory consumption
- Jemalloc is disabled by default now, for a 100% performance boost
- If the command argument does not require a shell, then the shell will be disabled
- If dash is installed, dash will be used by default when the shell is enabled
- File paths are no longer recalculated
0.6.2: Add --shellquote
As simple as adding support for --quote
was, this little update will also add support for --shellquote
0.6.1: Add --quote Option
This is just a small update that adds an option for the --quote
mode from GNU Parallel. I had to change the -q
flag which was previously assigned to --quite
to be the short version of --quote
, and have added the -s
flag along with --silent
as a replacement. However, --quite
will remain.
0.6.0: Piping, Shell Detection, & Non-Text Inputs
- Adds support for piping inputs to commands via the new
--pipe
option - Removes support for ungrouped mode until further notice
- Adds shell detection so that Parallel will attempt to use your preferred shell of choice
- Non-text inputs are fixed so that problems will no longer occur when taking binary data or garbage inputs
- All uses of the
try!
macro have been replaced by the new?
operator - A bit of refactoring and sprucing up the existing source code