I am using Lazarus and compile the projects with F9, or Ctrl-F9. Normally when I compile a project only those units are re-compiled that have been changed. This is logic.
Sometimes I notice (this time with generics.collections) that a unit is re-compiled when the unit itself is not changed, but where it is in the uses changes. So, when I make a small change in my unit then the whole generics.collections is re-compiled slowing down the compilation (and btw. also throwing hints, warnings and notes).
Why is this?