Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Intern more paths/path segments for file snapshots (#5958)

It seems like f781104 caused quite an increase on memory

usage for multi project builds. We observed this in an

increased Garbage collection time when building

sanityCheck on Gradle itself (10s -> 2minutes).

This PR reduces the memory footprint by interning path

segments and relative paths in file collection snapshots.

    • -1
    • +3
  1. … 7 more files in changeset.
Retain hierarchical structure in file system mirror (#5844)

The `FileSystemSnapshotter` now returns a root for each snapshotted file, possible containing all the children in hierarchy as the directory would no the file system.

This PR also contains some performance related changes:

- Stop interning path segments: That was only necessary when we stored the same path segments in many RelativePath objects. We don't do this any more, so interning should not be necessary and make things faster.

Actually, up-to-date assemble on largeMonolithicJavaProject (parallel false)

is about 40ms faster with this change (2.5 %).

- Don't use IndexedNormalizedFileSnapshots: It seems like there are no real performance gains by using IndexedNormalizedFileSnapshots.

    • -0
    • +328
    • -0
    • +152
  1. … 130 more files in changeset.