[Lldb-commits] [PATCH] D101198: [lldb-vscode] Read requests asynchronously

walter erquinigo via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 23 13:36:10 PDT 2021


wallace created this revision.
wallace added reviewers: clayborg, kusmour.
wallace requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

Currently, lldb-vscode is reading and processing requests one at a time, which
doesn't match exactly the interactivity of the UI. What happens when LLDB is
working hard parsing symbols, and at the same time the user is hovering around,
pressing resume multiple times, expanding variables in the variables view, etc?
In this case, LLDB will eventually process all of these actions one by one 
even though the user has already pressed resume, which means that most of the
responses will be discarded by the UI. This imposes a big burden on lldb.

A way to fix that is to parallelize the reading and processing of requests,
so that while a request is being processed, the reader can filter out pending
useless requests.

This diff only contains the concurrent queue used for this. If this code makes
sense, I'll proceed to add some filtering logic for pending requests.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101198

Files:
  lldb/tools/lldb-vscode/lldb-vscode.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101198.340152.patch
Type: text/x-patch
Size: 3433 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20210423/263be9b4/attachment.bin>


More information about the lldb-commits mailing list