Skip to content
This repository has been archived by the owner on Mar 27, 2023. It is now read-only.

Improve watch perf #1

Open
tracktwo opened this issue Jan 31, 2020 · 0 comments
Open

Improve watch perf #1

tracktwo opened this issue Jan 31, 2020 · 0 comments

Comments

@tracktwo
Copy link
Owner

Single-stepping in a class with many globals is pretty slow. There can easily be over a megabyte or two of encoded variable info coming from unreal on each step. This is batched up into the unlock watchlist message, but it's still very big and needs to go through several steps of translation to get from the interface to the adapter then finally to the debug client. Serializing and deserializing these large lists with hundreds of thousands of elements also takes time.

Some options:

  • Don't batch send all variables to the adapter, but keep them in the interface and have the adapter query the interface for needed information on-demand. Assuming the client only requests variables it wants to actually display this may be much faster it hopefully will not ask for the full expansion of complex structures. This complicates the interface and it now needs to keep track of the watches and their structure to be able to quickly locate all children of a given variable request.

  • Don't use TCP to communicate between the interface and adapter, but use some faster kind of IPC like shared memory.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant