You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Long-running/expensive coroutines (calling often await this.suspend()) will increase memory consumption due .demands() and .supplies() being not garbage-collected.
Possible solutions are:
A flag (NO_STREAMS) during coroutine creation to avoid creating .demands() and .supplies() streams for heavy coroutines.
Making .demands() and .supplies() not idempotent, they'll just return the latest stream point available. To get all coroutine's events, clients should call such functions early (e.g, before first .resume() call).
(Issue open to track further discussion)
The text was updated successfully, but these errors were encountered:
The former solution keeps backward-compatibility where the latter breaks it. Therefore, the first solution fits better as a bugfix patch, and the second solution can be deferred into next major release.
Long-running/expensive coroutines (calling often
await this.suspend()
) will increase memory consumption due.demands()
and.supplies()
being not garbage-collected.Possible solutions are:
NO_STREAMS
) during coroutine creation to avoid creating.demands()
and.supplies()
streams for heavy coroutines..demands()
and.supplies()
not idempotent, they'll just return the latest stream point available. To get all coroutine's events, clients should call such functions early (e.g, before first.resume()
call).(Issue open to track further discussion)
The text was updated successfully, but these errors were encountered: