Welcome. As a replacement for
left = searchsortedfirst(pq.times, t)
you can use (same timing in Julia)
len = length(pq)
left = 1
right = len
while left <= right
mid = (left + right) >> 1
if pq[mid][1] > t
right = mid - 1
else
left = mid + 1
end
end
insert!(pq, left, (t, d))