looks like using GR directly is much faster:
julia> using GR
julia> a = rand(2500,2500);
julia> @time display(heatmap(a))
nothing
3.725224 seconds (39.82 M allocations: 1.523 GiB, 8.06% gc time)
julia> @time display(heatmap(a))
nothing
1.102791 seconds (31.25 M allocations: 1.094 GiB, 6.55% gc time)