Changes between Version 15 and Version 16 of Commentary/Compiler/RecompilationAvoidance


Ignore:
Timestamp:
Jun 20, 2008 1:47:01 PM (7 years ago)
Author:
simonmar
Comment:

add notes about external packages

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/RecompilationAvoidance

    v15 v16  
    537537The solution is to sort the elements using a stable ordering, such as
    538538lexicographic ordering.
     539
     540
     541=== Packages ===
     542
     543We need to record usage information about package modules too, so that we
     544can correctly trigger recompilation if we depend on a package that has changed.  But
     545packages change rarely, so it would be wasteful to record detailed usage information for
     546every entity that we use from an external package (imagine recording the fingerprints for
     547`Bool`, `Int`, etc.).  Instead, we simply record the ABI fingerprint for every package
     548module that was imported by the current module.  That way, if anything about the ABI of
     549that package module has changed, then we can trigger a recompilation.
     550
     551(Correctly triggering recompilation when packages change was one of the things we fixed when implementing fingerprints, see #1372).