Skip to content

[6.38] [http] use more efficient TMethodCall invocation#22559

Merged
dpiparo merged 2 commits into
root-project:v6-38-00-patchesfrom
linev:http_exejson_638
Jun 10, 2026
Merged

[6.38] [http] use more efficient TMethodCall invocation#22559
dpiparo merged 2 commits into
root-project:v6-38-00-patchesfrom
linev:http_exejson_638

Conversation

@linev

@linev linev commented Jun 10, 2026

Copy link
Copy Markdown
Member

Backport of #22549

linev added 2 commits June 10, 2026 11:11
When processing exe.json request, TMethodCall is used to invoke object method.
Before all method arguments were packed into one string and provided
as TMethodCall constructor. Main problem - interpreter involved every time
and this leads to memory leak. Plus issue with escape symbols.

Try to use different signature of TMethodCall::Execute where arguments
parsed and stored as plain vector of pointers on these arguments.
Such signature does not invoke interpreter and should avoid memory leak
When exe.json executed for same method many times create TMethodCall once
and reuse it. Should significantly reduce memory fragmentation from cling and
probably avoid memory leaks.
@linev linev added this to the 6.38.06 milestone Jun 10, 2026
@linev linev self-assigned this Jun 10, 2026
@github-actions

Copy link
Copy Markdown

Test Results

    19 files      19 suites   2d 21h 51m 26s ⏱️
 3 728 tests  3 726 ✅ 0 💤 2 ❌
69 102 runs  69 099 ✅ 0 💤 3 ❌

For more details on these failures, see this check.

Results for commit 5db0c13.

@dpiparo dpiparo merged commit 2df69b3 into root-project:v6-38-00-patches Jun 10, 2026
28 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants