Skip to content

Releases: classgraph/classgraph

fast-classpath-scanner-1.90.10

12 Jul 18:00
Compare
Choose a tag to compare

Numerous small bugfixes surrounding classpath determination and handling

fast-classpath-scanner-1.90.8

11 Jul 20:35
Compare
Choose a tag to compare

Fix classpath scanning on Windows (Class-Path manifest entries weren't being properly resolved)

fast-classpath-scanner-1.90.7

09 Jul 23:21
Compare
Choose a tag to compare

More speed and memory optimizations

fast-classpath-scanner-1.90.6

09 Jul 06:16
Compare
Choose a tag to compare

More optimization work

  • Replaced ExecutorService with custom threading, which increases scanning speed by ~8%.

fast-classpath-scanner-1.90.5

08 Jul 12:40
Compare
Choose a tag to compare

Optimize buffering strategy.

fast-classpath-scanner-1.90.4

08 Jul 11:47
Compare
Choose a tag to compare

Fix buffer underrun issue with new buffering layer.

fast-classpath-scanner-1.90.3

08 Jul 11:19
Compare
Choose a tag to compare

Performance optimization release -- fixed a profiling hotspot.

fast-classpath-scanner-1.90.2

08 Jul 10:05
Compare
Choose a tag to compare

Major performance and memory consumption improvements:

  • Add a fast custom buffering layer (greatly reduces CPU overhead of classfile parsing compared to using DataInputStream).
  • Reuse buffers across classfiles (reduces GC churn).
  • Lazily allocate constant pool objects (reduces the number of wrapper objects created by a factor of 5).

fast-classpath-scanner-1.90.1

08 Jul 07:01
Compare
Choose a tag to compare

Bugfixes, optimization and code cleanups for multithreaded scanning.

fast-classpath-scanner-1.90.0

07 Jul 12:29
Compare
Choose a tag to compare

First release to support parallel scanning.

This is the first release to support multithreaded scanning, which overlaps disk/SSD reads, jarfile decompression and classfile parsing across multiple threads. This typically reduces scan time by 30-60% (the speedup increases by a factor of 2 on the second and subsequent scan of the same classpath by the same JVM instance, because disk/SSD read bandwidth is the bottleneck, and file content is cached within a JVM session). Note that any custom MatchProcessors that you add are all run on a single thread, so they do not need to be threadsafe (though it's a good habit to always write threadsafe code even in supposedly single-threaded contexts).

Parallel scanning seems to perform stably and correctly, but please report any regressions. This release is a preview of FastClasspath Scanner 2.0, which will be released after further testing.