Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Array optimisation for variablesRequest #343

Conversation

asimgunes
Copy link
Contributor

Hi @jonahgraham ,

As we discussed the issue previously, this is an update to optimising the array read operation in the variablesRequest.

Recently, there are some redundant operations performed during the variablesRequest in the adapter, causing a performance issue while retreiving larger arrays. The operation, which is removed in this update, creates O(n) compexity in the read operation in terms of gdb communication. With this update, by removing this redundant logic, gdb communication complexity is going to decrease to O(1).

Update tested manually in 1-dimensional int array, 2-dimensional int array, 1 dimensional struct array and 1-dimensional struct contains 1-dimensional array element. We observe the increase in the performance without having issue on the read operation.

Could you please review this update when you are suitable?

PS: Besides the removal of the array logic, the this.getFullPathExpression is also replaced since still causing an expensive gdb request which affects the performance.

@jonahgraham jonahgraham merged commit b3a5eb6 into eclipse-cdt-cloud:main Dec 5, 2024
4 checks passed
@jonahgraham
Copy link
Contributor

@asimgunes do you want a release built with this improvement, or do you want to wait for #341 to be completed too?

@asimgunes
Copy link
Contributor Author

@jonahgraham , I made an update to #341. If we are going to merge it soon, we can have a release build together.

jonahgraham added a commit to jonahgraham/cdt-gdb-vscode that referenced this pull request Dec 10, 2024
@jonahgraham
Copy link
Contributor

v1.0.2 has been published that contains this fix.

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

Successfully merging this pull request may close these issues.

2 participants