Commit Graph

123 Commits (e0fcf2b84b825c278de525b7b5636d2ae35ff57a)

Author SHA1 Message Date
Wilfred Hughes 8e190677e7 Roll version 2022-11-14 00:30:56 +07:00
Wilfred Hughes b662a2220b Apply upstream tree_magic_mini patch to fix blank line crash
Fixes #378
2022-10-31 00:54:24 +07:00
Wilfred Hughes e91878fb32 0.37 is now released 2022-10-14 16:10:27 +07:00
Wilfred Hughes 9e7c92eb57 Bump tree-sitter version 2022-10-09 14:59:30 +07:00
QuarticCat d48ee2dfdb
Use a faster stack impl 2022-09-28 04:08:42 +07:00
Wilfred Hughes 17ec5de754 Next release should be 0.37 2022-09-18 15:07:31 +07:00
Wilfred Hughes 88222e83c4 Prepare for patch release with fixed Windows build 2022-09-17 23:55:00 +07:00
Wilfred Hughes d5ae17d3d5 Roll version following release 2022-09-17 20:18:59 +07:00
Wilfred Hughes e15244c8f6 Roll version 2022-09-02 18:24:08 +07:00
Wilfred Hughes a04f867557 Fix terminal width detection
This was previously fixed in
cb900c3463 (see commit message), but
broken in #341.

Instead, use both term_size and terminal_size, to maximise our chances
that we can detect the width. Also comment the code with the relevant
terminal_size issue.

Fixes #346
2022-09-02 11:07:48 +07:00
Wilfred Hughes 1d1d883a9b Roll version 2022-08-27 23:00:33 +07:00
Wilfred Hughes aca46af40f Don't specify +whole-archive before rust 1.61 2022-08-27 17:51:54 +07:00
rhysd f201b9e225 Use `terminal_size` crate instead of `term_size` crate
since `term_size` has stopped maintenance 2 years ago.
2022-08-23 10:36:54 +07:00
Wilfred Hughes f3420df1ca Roll version 2022-08-21 22:05:04 +07:00
Wilfred Hughes 0c03187b96 Roll version 2022-08-07 18:16:16 +07:00
Wilfred Hughes 3e320bb1cb Bump version number 2022-07-12 00:12:21 +07:00
Wilfred Hughes c745de51b0 Roll version 2022-07-04 20:05:31 +07:00
lilydjwg c72626808f use unicode-width to align CJK characters 2022-06-26 21:51:26 +07:00
Wilfred Hughes e48c27cfb9 Next release will be 0.30 2022-06-13 16:51:16 +07:00
Wilfred Hughes 17f98a7f4d Next release will be 0.29.1 2022-06-13 16:49:55 +07:00
Wilfred Hughes ae42762a6d Fix mimalloc perf regression in 57a4b6d6ce
It looks like we were allocating large buffers for wu-diff, and
mimalloc performance is much worse for this case in the new version.

This reverts performance back to that 0.28 for large files,
such as the example in #297.
2022-06-13 02:02:01 +07:00
Wilfred Hughes dd80e58640 Roll version 2022-06-09 10:12:46 +07:00
Wilfred Hughes 57a4b6d6ce Update dependencies 2022-05-23 22:36:37 +07:00
Wilfred Hughes df927eb713 Update pretty_assertions 2022-05-23 22:31:08 +07:00
Wilfred Hughes 1d4293864b Prefer a bump allocator for graph vertices
This reduces instruction counts by around 14%.
2022-05-23 09:38:13 +07:00
Xuanwo aee75d0bf4
feat: Improve binary content guess
Signed-off-by: Xuanwo <github@xuanwo.io>
2022-05-03 15:04:41 +07:00
Wilfred Hughes 77fb9cd179 Roll version 2022-04-29 16:52:45 +07:00
Wilfred Hughes dd31fd3a2b Wrap help messages according to the terminal width 2022-04-26 22:38:23 +07:00
Wilfred Hughes e67ca22fc6 Roll version 2022-04-18 09:36:30 +07:00
Wilfred Hughes 5bd8c01385 Update build deps 2022-04-14 22:12:49 +07:00
Wilfred Hughes 1d5b4e0055 Update mimalloc 2022-04-14 22:04:43 +07:00
Wilfred Hughes e45dc8f2ba Update to latest tree-sitter 2022-04-14 22:01:10 +07:00
Wilfred Hughes 279e4d72a9 Update to latest clap 2022-04-14 21:57:20 +07:00
Wilfred Hughes db9ab874d8 Roll version 2022-04-10 16:00:31 +07:00
Wilfred Hughes 2a28bf6d54 Roll version to exercise release again 2022-04-10 15:39:25 +07:00
Wilfred Hughes 18126be646 Next release will be 0.26.2 2022-04-10 12:41:22 +07:00
Wilfred Hughes 10cd0d45b0 Next release will be 0.26.1 2022-04-10 12:25:54 +07:00
Wilfred Hughes 3c6db050dc Roll version 2022-04-09 19:01:54 +07:00
Wilfred Hughes bef93e9626 Roll version 2022-03-31 09:47:58 +07:00
Wilfred Hughes d36224229e Downgrade rpds to last Rust 2018 version
This will allow difftastic to build on earlier rust versions, and is
also a ~2% instruction count reduction on slow_before.rs.
2022-03-28 22:23:42 +07:00
Wilfred Hughes bacefe5a58 Roll version 2022-03-26 16:02:51 +07:00
Wilfred Hughes 9435798c9c Next release will be 0.24 2022-03-19 10:27:04 +07:00
Wilfred Hughes 06ffa0267a Next release will be a patch release with a single crash fix 2022-03-19 10:24:30 +07:00
Wilfred Hughes b5187d98d0 Roll version 2022-03-17 22:22:42 +07:00
Wilfred Hughes dad463daf5 Use Myers' diff everywhere
The diff crate has a great ergonomic API, but it doesn't implement
Myers' algorithm and performs badly on large inputs.

https://github.com/utkarshkukreti/diff.rs/issues/1

Now that we have a wrapper wu_diff that provides a similar API,
replace the remaining call sites to diff::slice(). These are
relatively cold, so this is a small performance improvement (1%
instruction reduction).
2022-03-12 12:29:34 +07:00
Wilfred Hughes afb1b369f4 Switch to wu-diff for textual diffing
In #153 a user reported difftastic never terminated on a 140,000
file. This was due to the diff crate using a very large amount of time
and memory.

The diff crate does not use Myers' algorithm, which has a
divide-and-conquer approach using snakes:

https://blog.jcoglan.com/2017/03/22/myers-diff-in-linear-space-theory/

wu-diff does implement Myer's algorithm and performs much better on
these large files.
2022-03-10 23:12:25 +07:00
Wilfred Hughes a3a2bfb317 Roll version 2022-03-10 00:13:26 +07:00
Wilfred Hughes 00c7d73bdf Version bump tree-sitter 2022-03-05 11:03:28 +07:00
Wilfred Hughes 2640f78f2f Version bump radix-heap 2022-03-05 10:59:50 +07:00
Wilfred Hughes 4b674d4b8e Use rpds rather than im for persistent data types
rpds is actively maintained and it's even a significant performance
win in my testing (40% time reduction on slow_before.rs).
2022-03-04 21:47:05 +07:00