romange / helio

A modern framework for backend development based on io_uring Linux interface
Apache License 2.0
435 stars 49 forks source link

fix: optimize intrusive types #173

Closed romange closed 10 months ago

romange commented 10 months ago

Also, provide additional debugging variable inside connection to allow tracking of its thread assignment.

codecov-commenter commented 10 months ago

Codecov Report

Attention: 5 lines in your changes are missing coverage. Please review.

Comparison is base (fd1d1c2) 77.50% compared to head (b2f9328) 77.46%.

Files Patch % Lines
util/fibers/listener_interface.cc 44.44% 5 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #173 +/- ## ========================================== - Coverage 77.50% 77.46% -0.04% ========================================== Files 98 98 Lines 7232 7237 +5 ========================================== + Hits 5605 5606 +1 - Misses 1627 1631 +4 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

romange commented 10 months ago

Ah, I did not know that it's by design

On Fri, Nov 17, 2023, 1:34 PM Vladislav @.***> wrote:

@.**** approved this pull request.

In util/listener_interface.h https://github.com/romange/helio/pull/173#discussion_r1397129157:

  • // traverses all client connection in current thread. cb must adhere to rules from
  • // TraverseConnections;
  • void TraverseConnectionsOnThread(TraverseCB cb);

What's wrong with it? I need it to be public for Dragonfly 😢

In util/fibers/detail/fiber_interface.h https://github.com/romange/helio/pull/173#discussion_r1397130139:

  • boost::intrusive::slist_member_hook<boost::intrusive::link_mode>;
  • boost::intrusive::list_member_hook<boost::intrusive::link_mode>;

👍🏻 I wonder how much it improves performance for heavy load with frequent disconnects 🙂

— Reply to this email directly, view it on GitHub https://github.com/romange/helio/pull/173#pullrequestreview-1736702961, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4BFCGDMCLQLUD2YUJWKX3YE5DS7AVCNFSM6AAAAAA7PPKWAWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOMZWG4YDEOJWGE . You are receiving this because you authored the thread.Message ID: @.***>

romange commented 10 months ago

Can you please fix it, actually?

On Fri, Nov 17, 2023, 1:35 PM Roman Gershman @.***> wrote:

Ah, I did not know that it's by design

On Fri, Nov 17, 2023, 1:34 PM Vladislav @.***> wrote:

@.**** approved this pull request.

In util/listener_interface.h https://github.com/romange/helio/pull/173#discussion_r1397129157:

  • // traverses all client connection in current thread. cb must adhere to rules from
  • // TraverseConnections;
  • void TraverseConnectionsOnThread(TraverseCB cb);

What's wrong with it? I need it to be public for Dragonfly 😢

In util/fibers/detail/fiber_interface.h https://github.com/romange/helio/pull/173#discussion_r1397130139:

  • boost::intrusive::slist_member_hook<boost::intrusive::link_mode>;
  • boost::intrusive::list_member_hook<boost::intrusive::link_mode>;

👍🏻 I wonder how much it improves performance for heavy load with frequent disconnects 🙂

— Reply to this email directly, view it on GitHub https://github.com/romange/helio/pull/173#pullrequestreview-1736702961, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA4BFCGDMCLQLUD2YUJWKX3YE5DS7AVCNFSM6AAAAAA7PPKWAWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOMZWG4YDEOJWGE . You are receiving this because you authored the thread.Message ID: @.***>