mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 21:15:32 +09:00
perf(gateway): re-enable generational GC on hot processes (#2188)
This commit is contained in:
1 parent
0be6c9c734
commit
933b13f3fa
4 files changed
+101
-5
No files matched your search
@@ -30,7 +30,7 @@ update_counts(State) -> guild_maintenance:update_counts(State).
|
||||
-spec init(map()) -> {ok, guild_state(), timeout()}.
|
||||
init(GuildState) ->
|
||||
process_flag(trap_exit, true),
|
||||
erlang:process_flag(fullsweep_after, 0),
|
||||
erlang:process_flag(fullsweep_after, 10),
|
||||
State0 = guild_init:init_base_state(GuildState),
|
||||
State1 = guild_init:init_member_list(State0),
|
||||
State2 = guild_init:init_counts(State1),
|
||||
@@ -431,7 +431,7 @@ terminate(Reason, State) ->
|
||||
|
||||
-spec code_change(term(), guild_state(), term()) -> {ok, guild_state()}.
|
||||
code_change(_OldVsn, State, _Extra) ->
|
||||
erlang:process_flag(fullsweep_after, 0),
|
||||
erlang:process_flag(fullsweep_after, 10),
|
||||
erlang:garbage_collect(),
|
||||
{ok, State}.
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ maybe_cast(_BroadcasterPid, _Msg) ->
|
||||
|
||||
-spec init([integer() | pid()]) -> {ok, map()}.
|
||||
init([GuildId, GuildPid]) when is_integer(GuildId), is_pid(GuildPid) ->
|
||||
erlang:process_flag(fullsweep_after, 0),
|
||||
erlang:process_flag(fullsweep_after, 10),
|
||||
_ = erlang:monitor(process, GuildPid),
|
||||
{ok, #{guild_id => GuildId, guild_pid => GuildPid}}.
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ start_link(SessionData) ->
|
||||
-spec init(map()) -> {ok, session_state()}.
|
||||
init(SessionData) ->
|
||||
process_flag(trap_exit, true),
|
||||
erlang:process_flag(fullsweep_after, 0),
|
||||
erlang:process_flag(fullsweep_after, 10),
|
||||
State0 = session_init:build_state(SessionData),
|
||||
ScheduleStartedAt = gateway_timings:start(),
|
||||
session_init:schedule_timers(State0),
|
||||
@@ -318,7 +318,7 @@ terminate(Reason, State) ->
|
||||
|
||||
-spec code_change(term(), session_state(), term()) -> {ok, session_state()}.
|
||||
code_change(_OldVsn, State, _Extra) ->
|
||||
erlang:process_flag(fullsweep_after, 0),
|
||||
erlang:process_flag(fullsweep_after, 10),
|
||||
erlang:garbage_collect(),
|
||||
{ok, State}.
|
||||
|
||||
|
||||
Reference in new issue
Block a user