Skip to content
This repository has been archived by the owner on Jul 23, 2019. It is now read-only.

Latest commit

 

History

History
17 lines (9 loc) · 1.96 KB

2018_03_19.md

File metadata and controls

17 lines (9 loc) · 1.96 KB

Update for March 19, 2018

Contributions

We have a couple of PRs pending (#36 and #34), but we're holding off on merging anything until we complete some major architectural changes. Sorry for the delay @LucaT1 and @breezykermo.

Selections optimizations

I merged a PR from @as-cii that optimized our initial implementation of selections. While we still think there is room for more optimization, we're pretty happy with our early results. On Antonio's machine, he's moving 1k selections in a document with 10k edits in under 2ms. Based on some hacky experimentation to avoid allocations, we think we can make that even faster. At some point, with some number of selections, we're going to end up blowing our frame budget, but we think maintaining it into the thousands of selections ought to be acceptable.

Significant progress switching to a client/server architecture

@as-cii, @maxbrunsfeld and I have made decent progress on a PR to switch Xray to the client/server architecture I discussed last week.

We're implementing an event-driven server using Tokio, and have what seems like a viable approach for relaying data between the server and the window that will leave the door open to packages implementing custom views that slot in cleanly next to built-in features.

Check out #46 for details. I've also written a fairly detailed document explaining our architecture and the protocol that will become a permanent part of Xray's documentation once this PR is merged.