4 days ago
https://issues.dlang.org/show_bug.cgi?id=20677

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@CyberShadow created dlang/tools pull request #419 "Update DustMite" mentioning this issue:

- Update DustMite

  This updates the distributed version to the latest version including
  the improvements from

https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/

  * d785720 Add "indent" split mode
  * e77126f splitter: Speed up optimization
  * e0138ca dustmite: Preserve no-remove flags when applying "Concat"
reductions
  * d501228 Don't move code marked as no-remove
  * 4d361cb dustmite: Use templates instead of delegates for dump
  * 772a8fb dustmite: Use lockingBinaryWriter
  * 621991b dustmite: Bulk adjacent writes
  * dbd493a splitter: Don't compile in a debug-only field
  * d19b15e Add coverage analysis and upload to Coveralls
  * 630cf9c Track each entity's parent entity
  * f56f6a4 splitter: Make Entity members used only by splitter private
  * be2c452 splitter: Fix Dscanner warning
  * 70d5503 splitter: Delete unused label
  * 0e788b5 Revert "Track each entity's parent entity"
  * 1f1f732 splitter: Don't dereference enum AAs at runtime
  * 3fea926 dustmite: Mark final classes as such
  * 02f8b2e splitter: Mark Entity class final
  * 2ca0522 Overhaul tree representation and edit algorithms
  * d9da7cf dustmite: Fail no-op concat reductions
  * d439fed dustmite: Remove the concatPerformed bodge
  * 0ec8fc5 dustmite: Log inapplicable reductions
  * 2e19085 dustmite: Fix a TODO
  * ad4124f dustmite: Start a new iteration after a successful Concat reduction
  * 6d0cd9f dustmite: Remove `reduction == initialReduction` lookahead hack
  * f197986 dustmite: Get rid of the "root" global
  * 690ab07 dustmite: Update the lookahead iterator's root according to
predictions
  * 0dc5e04 dustmite: Remove special handling for the first lookahead step
  * 8b5f639 dustmite: Handle inapplicable reductions in lookahead
  * fd45d61 dustmite: Fix placement of --version in help text
  * bf407bc dustmite: Make descendant recounting incremental
  * 6878138 dustmite: Clean up test directories before writing to them
  * a269d25 dustmite: Distinguish zero and uninitialized digests in lookahead
queue
  * 9eb4126 dustmite: Move lookahead saving and process creation into worker
thread
  * 5034c01 polyhash: Initial commit
  * 3d28c6e polyhash: Add some comments
  * 751ea2b polyhash: Optimize calculating powers of p
  * f675253 polyhash: Use decreasing powers of p, instead of increasing
  * b1b76cd polyhash: Convert to an output range interface
  * 62d145b License under Boost Software License 1.0
  * 19f0200 polyhash: Add mod-q (with non-power-of-two q) support
  * 5b80b03 Unify incremental and full updates of computed Entity fields
  * f85acdf Switch to incremental polynomial hashing
  * 401d408 Work around DMD bug 20677
  * 575406e Speed up applyReduction.edit
  * 23a67fb Re-optimize incrementally for the Concat reduction
  * 80b7ba4 dustmite: Speed up removing dependencies under removed nodes
  * ec81973 Speed up address comparison
  * 26f2039 dustmite: Tweak tree initialization order
  * d5523e1 splitter: Clear hash for killed entities
  * 048a0fd Keep children of removed nodes in the tree
  * 48ed0a5 dustmite: Make findEntity traverse dead nodes
  * 196f5f7 dustmite: Improve dump formatting of redirects and dead entities
  * 404c8f9 dustmite: With both --trace and --dump, save dumps during trace
  * 72cd08c dustmite: Don't attempt to concatenate dead files
  * 53d3bf6 dustmite: Recalculate dead entities recursively too
  * c3d1215 dustmite: Traverse dead entities when editing them, too
  * 226a651 dustmite: Do not copy dead entities for editing
  * b8f2844 Maintain cached cumulative dependents per-node
  * 9f5a4f1 dustmite: Create less garbage during I/O
  * df752dc Maintain cached full content of each node
  * 4b165e6 Revert "Maintain cached full content of each node"
  * 965fbc3 dustmite: Speed up strategy iteration over dead nodes
  * 15d0a8f dustmite: Remove use of lazy arguments in address iteration
  * b5c1ec0 splitter: Fix lexing D raw string literals (r"...")
  * 2630496 dustmite: Fix "reduced to empty set" message
  * 9505bf6 dustmite: Fix recursion for dead nodes in recalculate
  * 6764e8d dustmite: Add --in-place
  * 3a76633 dustmite: Remove Reduction.target
  * c04c843 dustmite: Replace Reduction.address with an Address*
  * d2cfa23 dustmite: Allow the test function to take an array of reductions
  * 5e510c8 dustmite: Introduce Reduction.Type.Swap
  * d4303ca dustmite: Add fuzzing mode
  * 5fffd18 dustmite: Split up the DustMiteNoRemove string literals
  * 714ea99 dustmite: Allow --reduce-only and --no-remove rules to stack
  * ca18a07 dustmite: Add --remove switch
  * de92616 dustmite: Reorder --help text
  * 157b305 dustmite: Remove trailing punctuation from --help text
  * 6746464 Add --white-out option
  * 6705a94 dustmite: Update tagline
  * e76496f splitter: Make EntityRef.address const
  * 4cfed4c dustmite: Add debug=DETERMINISTIC_LOOKAHEAD
  * 214d000 dustmite: Add reduction application cache
  * e859e86 dustmite: Grow reduction application cache dynamically
  * fd3ad29 dustmite: Speed up dependency recalculation
  * a10ef7f dustmite: Fix crash with --whiteout + --trace
  * 256a651 dustmite: Speed up dumping
  * df42f62 dustmite: Add --max-steps
  * 886c6f2 dustmite: Make measure's delegate scoped
  * 732d0f1 dustmite: Add more performance timers
  * 05acf86 dustmite: Implement non-linear lookahead prediction
  * 0a7a937 dustmite: Improve prediction formula
  * 990b3bc splitter: Improve parsing of successive keyword-prefixed blocks
  * cb0855d dustmite: Make detection of suspicious files non-fatal

https://github.com/dlang/tools/pull/419

--
2 days ago
https://issues.dlang.org/show_bug.cgi?id=20677

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/tools pull request #419 "Update DustMite" was merged into master:

- b40acaf9a7bb76d097701bf63414305b360b0e34 by Vladimir Panteleev:
  Update DustMite

  This updates the distributed version to the latest version including
  the improvements from

https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/

  * d785720 Add "indent" split mode
  * e77126f splitter: Speed up optimization
  * e0138ca dustmite: Preserve no-remove flags when applying "Concat"
reductions
  * d501228 Don't move code marked as no-remove
  * 4d361cb dustmite: Use templates instead of delegates for dump
  * 772a8fb dustmite: Use lockingBinaryWriter
  * 621991b dustmite: Bulk adjacent writes
  * dbd493a splitter: Don't compile in a debug-only field
  * d19b15e Add coverage analysis and upload to Coveralls
  * 630cf9c Track each entity's parent entity
  * f56f6a4 splitter: Make Entity members used only by splitter private
  * be2c452 splitter: Fix Dscanner warning
  * 70d5503 splitter: Delete unused label
  * 0e788b5 Revert "Track each entity's parent entity"
  * 1f1f732 splitter: Don't dereference enum AAs at runtime
  * 3fea926 dustmite: Mark final classes as such
  * 02f8b2e splitter: Mark Entity class final
  * 2ca0522 Overhaul tree representation and edit algorithms
  * d9da7cf dustmite: Fail no-op concat reductions
  * d439fed dustmite: Remove the concatPerformed bodge
  * 0ec8fc5 dustmite: Log inapplicable reductions
  * 2e19085 dustmite: Fix a TODO
  * ad4124f dustmite: Start a new iteration after a successful Concat reduction
  * 6d0cd9f dustmite: Remove `reduction == initialReduction` lookahead hack
  * f197986 dustmite: Get rid of the "root" global
  * 690ab07 dustmite: Update the lookahead iterator's root according to
predictions
  * 0dc5e04 dustmite: Remove special handling for the first lookahead step
  * 8b5f639 dustmite: Handle inapplicable reductions in lookahead
  * fd45d61 dustmite: Fix placement of --version in help text
  * bf407bc dustmite: Make descendant recounting incremental
  * 6878138 dustmite: Clean up test directories before writing to them
  * a269d25 dustmite: Distinguish zero and uninitialized digests in lookahead
queue
  * 9eb4126 dustmite: Move lookahead saving and process creation into worker
thread
  * 5034c01 polyhash: Initial commit
  * 3d28c6e polyhash: Add some comments
  * 751ea2b polyhash: Optimize calculating powers of p
  * f675253 polyhash: Use decreasing powers of p, instead of increasing
  * b1b76cd polyhash: Convert to an output range interface
  * 62d145b License under Boost Software License 1.0
  * 19f0200 polyhash: Add mod-q (with non-power-of-two q) support
  * 5b80b03 Unify incremental and full updates of computed Entity fields
  * f85acdf Switch to incremental polynomial hashing
  * 401d408 Work around DMD bug 20677
  * 575406e Speed up applyReduction.edit
  * 23a67fb Re-optimize incrementally for the Concat reduction
  * 80b7ba4 dustmite: Speed up removing dependencies under removed nodes
  * ec81973 Speed up address comparison
  * 26f2039 dustmite: Tweak tree initialization order
  * d5523e1 splitter: Clear hash for killed entities
  * 048a0fd Keep children of removed nodes in the tree
  * 48ed0a5 dustmite: Make findEntity traverse dead nodes
  * 196f5f7 dustmite: Improve dump formatting of redirects and dead entities
  * 404c8f9 dustmite: With both --trace and --dump, save dumps during trace
  * 72cd08c dustmite: Don't attempt to concatenate dead files
  * 53d3bf6 dustmite: Recalculate dead entities recursively too
  * c3d1215 dustmite: Traverse dead entities when editing them, too
  * 226a651 dustmite: Do not copy dead entities for editing
  * b8f2844 Maintain cached cumulative dependents per-node
  * 9f5a4f1 dustmite: Create less garbage during I/O
  * df752dc Maintain cached full content of each node
  * 4b165e6 Revert "Maintain cached full content of each node"
  * 965fbc3 dustmite: Speed up strategy iteration over dead nodes
  * 15d0a8f dustmite: Remove use of lazy arguments in address iteration
  * b5c1ec0 splitter: Fix lexing D raw string literals (r"...")
  * 2630496 dustmite: Fix "reduced to empty set" message
  * 9505bf6 dustmite: Fix recursion for dead nodes in recalculate
  * 6764e8d dustmite: Add --in-place
  * 3a76633 dustmite: Remove Reduction.target
  * c04c843 dustmite: Replace Reduction.address with an Address*
  * d2cfa23 dustmite: Allow the test function to take an array of reductions
  * 5e510c8 dustmite: Introduce Reduction.Type.Swap
  * d4303ca dustmite: Add fuzzing mode
  * 5fffd18 dustmite: Split up the DustMiteNoRemove string literals
  * 714ea99 dustmite: Allow --reduce-only and --no-remove rules to stack
  * ca18a07 dustmite: Add --remove switch
  * de92616 dustmite: Reorder --help text
  * 157b305 dustmite: Remove trailing punctuation from --help text
  * 6746464 Add --white-out option
  * 6705a94 dustmite: Update tagline
  * e76496f splitter: Make EntityRef.address const
  * 4cfed4c dustmite: Add debug=DETERMINISTIC_LOOKAHEAD
  * 214d000 dustmite: Add reduction application cache
  * e859e86 dustmite: Grow reduction application cache dynamically
  * fd3ad29 dustmite: Speed up dependency recalculation
  * a10ef7f dustmite: Fix crash with --whiteout + --trace
  * 256a651 dustmite: Speed up dumping
  * df42f62 dustmite: Add --max-steps
  * 886c6f2 dustmite: Make measure's delegate scoped
  * 732d0f1 dustmite: Add more performance timers
  * 05acf86 dustmite: Implement non-linear lookahead prediction
  * 0a7a937 dustmite: Improve prediction formula
  * 990b3bc splitter: Improve parsing of successive keyword-prefixed blocks
  * cb0855d dustmite: Make detection of suspicious files non-fatal

https://github.com/dlang/tools/pull/419

--