Commit Graph
584 Commits
Author SHA1 Message Date
Max Brunsfeld 45e81dc768 Merge pull request #68 from zed-industries/optimizations-2
Introduce a few optimizations to `SumTree` and `Buffer`
2021-05-18 09:14:23 -07:00
Antonio Scandurra a8ece757e4 Implement time::Global using a SmallVec
Version vectors are going to be small most of the time, especially
as soon as we introduce an optimization that will let us only
track concurrent versions, thus preventing the version vector from
growing indefinitely over time in the tree.
2021-05-18 17:34:48 +02:00
Antonio Scandurra 84e0efe5df Save a few allocations when pushing to a SumTree 2021-05-18 17:34:36 +02:00
Antonio Scandurra 781aa92f26 Don't summarize unnecessary information when resolving anchor 2021-05-18 17:34:28 +02:00
Nathan Sobo fd3b2c38eb Try a diff upload action 2021-05-17 23:39:01 -06:00
Nathan Sobo f7b37cdf54 Merge pull request #66 from zed-industries/upload-release
Add a release upload action
2021-05-17 23:04:55 -06:00
Nathan Sobo aef21e1c0b Try not cleaning on checkout 2021-05-17 22:46:33 -06:00
Nathan Sobo f7e8e21d74 Reenable tests 2021-05-17 21:57:07 -06:00
Nathan Sobo 614d74948c 🤦‍♂️ 2021-05-17 21:33:08 -06:00
Nathan Sobo 6c51ce9595 Merge remote-tracking branch 'origin/master' into upload-release 2021-05-17 21:12:14 -06:00
Nathan Sobo c52968b18e Merge pull request #67 from zed-industries/delay-polling
Reintroduce the 100ms delay when polling worktree entries
2021-05-17 21:11:36 -06:00
Nathan Sobo f6bb550fb1 Revert "Does this make job setup faster?"
This reverts commit e8985b46dd.
2021-05-17 20:58:03 -06:00
Nathan Sobo e8985b46dd Does this make job setup faster? 2021-05-17 20:55:42 -06:00
Nathan Sobo 143ea24875 Reintroduce the 100ms delay when polling worktree entries
This regressed when I switched us over to the simplified async approach. I think it was causing us to contend on the mutex on during startup.
2021-05-17 20:50:00 -06:00
Nathan Sobo a750a09002 Merge remote-tracking branch 'origin/master' into upload-release 2021-05-17 18:27:19 -06:00
Nathan Sobo 6429123881 Remove unnecessary step 2021-05-17 18:09:35 -06:00
Nathan Sobo 693a96f0e5 Explicitly install aarch64 target 2021-05-17 18:07:39 -06:00
Nathan Sobo 7f2da31708 Install cargo-bundle if needed in script/bundle 2021-05-17 17:57:50 -06:00
Nathan Sobo 08c7a499e5 Focus on bundling 2021-05-17 17:51:48 -06:00
Nathan Sobo 667aa947e6 Will you work please? 2021-05-17 17:51:06 -06:00
Nathan Sobo 4a3f3be40d Can we skip caching because we're self hosted? 2021-05-17 16:48:03 -06:00
Nathan Sobo 28988fcbb5 Run CI on tag pushes 2021-05-17 16:47:42 -06:00
Nathan Sobo 4f8caedf94 Add a release upload action 2021-05-17 16:38:56 -06:00
Nathan Sobo d234f63447 Update roadmap 2021-05-17 11:15:32 -06:00
Antonio Scandurra a9108c781b Merge pull request #62 from zed-industries/multibyte-characters
Get randomized tests passing in the presence of multibyte chars
2021-05-16 10:09:57 +02:00
Antonio Scandurra f550cb488a Merge pull request #63 from zed-industries/multibyte-characters-enhancement
Improve handling of multibyte characters and optimize Rope some more
2021-05-16 10:09:20 +02:00
Antonio Scandurra 81e162318f 💄 2021-05-15 11:52:49 +02:00
Antonio Scandurra 5f93d7f755 Return error in Rope::to_offset(point) when the point doesn't exist 2021-05-15 11:43:29 +02:00
Antonio Scandurra c9987f9488 Optimize Rope::append by merging chunks only when they're underflowing 2021-05-15 11:32:34 +02:00
Antonio Scandurra 76a74e431e Introduce rope::Cursor::summary to avoid slicing only to get a summary
This also deletes `Rope::slice`, as it's just a convenience method that
can be easily re-implemented by using the cursor.
2021-05-15 11:29:48 +02:00
Antonio Scandurra def0aa98b2 Maximize chunks occupation by splitting chunks appropriately 2021-05-15 10:18:59 +02:00
Antonio Scandurra 1190a87a05 Avoid heap allocation when splitting an existing chunk 2021-05-15 10:08:01 +02:00
Max Brunsfeld 243b66a91d Add unit test for rope with all 4-byte chars 2021-05-14 17:53:58 -07:00
Max Brunsfeld e860cacb9f Get randomized tests passing in the presence of multibyte chars 2021-05-14 17:45:16 -07:00
Max Brunsfeld beaa35f551 Merge pull request #61 from zed-industries/ropes-2
Store buffer's visible and deleted text using ropes
2021-05-14 15:09:07 -07:00
Max Brunsfeld 614e96b957 Clarify how the ropes are kept consistent with the fragments 2021-05-14 14:48:19 -07:00
Max Brunsfeld fc2533555c Remove inline assertions about RopeBuilder invariants 2021-05-14 14:07:25 -07:00
Max BrunsfeldandNathan Sobo 79c91de2f4 Get tests passing with RopeBuilder
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 12:47:19 -07:00
Nathan Sobo cba8603335 WIP 2021-05-14 10:58:02 -06:00
Antonio ScandurraandNathan Sobo 2cdf315d95 WIP: Replace ropey with our own Rope
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 18:30:47 +02:00
Antonio ScandurraandNathan Sobo 2f5754db63 Implement a Cursor for Rope
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 17:14:57 +02:00
Antonio ScandurraandNathan Sobo 580fc4fed7 Clarify variable and method names
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-14 16:42:46 +02:00
Antonio Scandurra 0d50c74cab 💄 2021-05-14 16:07:46 +02:00
Antonio Scandurra 9f9f339a75 📝 2021-05-14 16:00:45 +02:00
Antonio Scandurra e2c19d3d3f Add Rope::chunks 2021-05-14 15:19:03 +02:00
Antonio Scandurra 6e30fdbf5c Better balancing of chunks on push 2021-05-14 15:07:30 +02:00
Antonio Scandurra f303a1d5fe Implement ::chars, ::to_point and ::to_offset for Rope 2021-05-14 14:44:19 +02:00
Antonio Scandurra ff235e61f7 Increase leaf occupation for rope 2021-05-14 13:20:20 +02:00
Antonio Scandurra d7cde9f81b Don't underflow Rope chunks on append 2021-05-14 12:26:21 +02:00
Antonio Scandurra e48973f75a Start on a SumTree-based Rope implementation 2021-05-14 11:33:39 +02:00