Closed Vilin97 closed 3 years ago
nice.
@ChrisRackauckas , sorry for the half-written issue. Ctrl+Enter
not giving new line always gets me. Anyway, it's finished now.
I think I found the source of the problem, and it is not a bug. Looks like I was just forgetting to update the priority table with new rates after the previous benchmark modified rates
...
Update: I was able to get the same error without a priority queue. Script:
Error:
End of Update.
Running the following script produces an error. Script:
Now run it:
Observations:
This error does not happen if
bench1 = run(b1)
is commented out.This error does not happen if
run(b2)
is evaluated beforerun(b1)
Sometimes the error take the following form:
without Julia crashing.
No error appears if I simply do
instead of
run(b2)
.No error appears if I do
b1 = @benchmarkable DiffEqJump.update!(rt, n, oldrate, rates[n]) setup = (n = rand(1:num_rates); oldrate = rates[n]; rates[n] = rand())
instead ofb1 = @benchmarkable update!(pq, n, randexp() / rates[n]) setup = (n = rand(1:num_rates); rates[n] = rand())
.The error persists if I evaluate
b1 = @benchmarkable sort([1,2,3]); run(b1)
before doingrun(b2)
.No error appears if I do
b1 = @benchmarkable update!(pq, 1, randexp() / rates[1])
instead ofb1 = @benchmarkable update!(pq, n, randexp() / rates[n]) setup = (n = rand(1:num_rates); rates[n] = rand())
, OR if I dob2 = @benchmarkable DiffEqJump.update!(rt, 1, rates[1], rates[1])
instead ofb2 = @benchmarkable DiffEqJump.update!(rt, n, oldrate, rates[n]) setup = (n = rand(1:num_rates); oldrate = rates[n]; rates[n] = rand())
.Speculations:
setup
. This is suggested by observation 7.