Skip to content

Optimization with caching #10

@pettermahlen

Description

@pettermahlen

Instead of loading all the classes in all the artifacts, let's do this:

  • create a cache directory somewhere
  • for each jar file we find, compare the last modified timestamp with the timestamp of the corresponding cache file. If cache file is newer, use that. If cache file is older, checksum of file with cached file checksum metadata. If the checksum matches, use it and update timestamp. Otherwise, rebuild the cache file.

The cache file is a sparkey file that maps class name to raw class-file data. It also contains special things like jar_checksum

Then we need a special lazy artifact object that only parses the class-file data when we need the information, which should be when we first discover that the class is needed in runtime, i.e. when we run the reachability analysis.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions