Skip to content

Optimize memory#75

Draft
johningve wants to merge 16 commits into
masterfrom
optimize-mem
Draft

Optimize memory#75
johningve wants to merge 16 commits into
masterfrom
optimize-mem

Conversation

@johningve

Copy link
Copy Markdown
Member

Various memory optimizations.

Before:
profile (1).pb.gz

After:
profile.pb.gz

@johningve johningve changed the title Optimize mem Optimize memory Aug 19, 2022
@codecov-commenter

codecov-commenter commented Aug 19, 2022

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 76.79083% with 243 lines in your changes missing coverage. Please review.
✅ Project coverage is 63.52%. Comparing base (6152764) to head (a0f05ea).
⚠️ Report is 464 commits behind head on master.

Files with missing lines Patch % Lines
leaderrotation/carousel.go 0.00% 20 Missing ⚠️
consensus/byzantine/byzantine.go 0.00% 18 Missing ⚠️
metrics/throughput.go 0.00% 17 Missing ⚠️
metrics/clientlatency.go 0.00% 16 Missing ⚠️
metrics/timeouts.go 0.00% 16 Missing ⚠️
leaderrotation/reputation.go 0.00% 15 Missing ⚠️
crypto/bls12/bls12.go 45.45% 11 Missing and 1 partial ⚠️
crypto/crypto.go 72.09% 6 Missing and 6 partials ⚠️
consensus/consensus.go 85.89% 9 Missing and 2 partials ⚠️
handel/session.go 83.60% 9 Missing and 1 partial ⚠️
... and 26 more
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #75      +/-   ##
==========================================
+ Coverage   57.81%   63.52%   +5.70%     
==========================================
  Files          70       76       +6     
  Lines        6427     7418     +991     
==========================================
+ Hits         3716     4712     +996     
+ Misses       2424     2393      -31     
- Partials      287      313      +26     
Flag Coverage Δ
unittests 63.52% <76.79%> (+5.70%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This removes the need to declare what "interface" or type a module
provides to the module system, thus being more in line with the "Go way"
of implicit interfaces. The module system looks for a module with a
compatible type. If multiple modules implement the same type, the module
system chooses the one that was added to the builder last.
If we are going to use a view context for voting, then we need to be in
the correct view before we start the voting process.
Otherwise, the vote could be canceled by the following view change.
This decouples contexts from the synchronizer and makes them listen for
events on the event loop.
This commit aims to make the eventloop more flexible by allowing both
async and sync handlers again. Handlers can be made async by passing a
RunAsync handler option. Furthermore, observers have been replaced by a
WithPriority handler option.
Smart contexts that listen for timeouts
This avoids many memory allocations
@meling

meling commented Oct 3, 2022

Copy link
Copy Markdown
Member

@johningve Could you resolve the conflicts in this PR before I review it?

@meling

meling commented Jan 3, 2025

Copy link
Copy Markdown
Member

I looked at this, and I like many of the changes here independent of the memory improvement gained.

It probably does not make sense to try to salvage this PR as is, but perhaps we should start a new PR and redo this on top of master. @johningve Can you recall why this never moved out of draft mode?

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.

3 participants