A couple questions on compiler latency and method invalidation

Benny
Mon, 12 Oct 2020 23:02:06 +0000
Internals & Design

I’ve been looking up compiler latency in Julia after reading the blog post on decreasing method invalidation in version 1.6 [Analyzing sources of compiler latency in Julia: method invalidations]. I think I sort of got the gist of the progress on “time to first plot” so far, but there’s a couple things I still don’t really get because of my own inexperience:

1. How long is compilation time in Julia compared to other compiled languages? Does method invalidation and recompilation play a role in other languages or is it particular to Julia? I haven’t actually used a compiled language before Julia, so I was hoping someone who has used one can give a fair comparison.

2. After reading about the reduction of method invalidations that happen when combining common packages, am I right in thinking that developers can only reduce method invalidation for combinations of packages they are aware of? Or are there general principles to prevent method invalidation for arbitrary combinations?

9 posts - 6 participants