-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
World age #131
Comments
@timholy Thanks for opening this issue and being on top of this problem! |
@timholy what where the possible fixes to this? I think it was something like this:
I think I'm missing one fix ;) |
Ah, @vtjnash suggested to restart the event queue when an action is added: __init__() = @async backend_eventqueue()
function backend_eventqueue()
restart[] = false
while true
dispatch_events()
restart[] && (@async backend_eventqueue(); return)
end
end |
I like the third one, but I haven't played with it (and have other tasks I need to switch to for a bit). |
Possibly one more approach is to start an event-loop per map. The main event loop would just notify Condition variables (or push directly to a Channel?), and the consumer tasks would all be independent. |
I was gearing up to tackle this, and happened to notice #129. It appears to solve all the problems with world age. |
@timholy is that with I don't think it should work In the default async mode, it's still just starting the event loop after
Adding I think restarting the event queue after adding the action sounds fine as per @SimonDanisch's comment above. This minor diff to the branch in #129 works, at least for the above case:
|
If we went with that, we'd need to take more care that there's not |
@vtjnash is the invokelatest proposal going to be merged? Would there be a performance penalty in using it? |
Yeah, also, if |
I suspect the issue is that |
Yes, it's pretty much the same as eval. That's why using Channels instead of the single event loop may work better, or restarting the main loop. Although it isn't using the return value, do the inference barrier is perhaps not too significant. |
There are various discussions all over the place (JuliaGizmos/Interact.jl#161, JuliaGizmos/Interact.jl#158 (comment), JuliaLang/julia#21141, JuliaLang/julia#21307), but it makes sense to have some kind of issue filed here. For the record, the following simple test fails on 0.6:
The text was updated successfully, but these errors were encountered: