Skip to content

Repository files navigation

FastFileIndex 0.1.1 [2026-07-23] — Ultra-Fast Native File Indexing for Java

StatusLicense: MITJavaPlatformJitPack

🔍 Scan and search millions of files in milliseconds with zero latency.

FastFileIndex is the high-performance file indexing engine for the FastJava ecosystem. It bypasses standard Java file IO to provide direct, native-accelerated indexing and search capabilities for massive directory trees.

FastFileIndex Showcase

// Quick Start Indexing a directoryimportfastfileindex.FastFileIndex;
publicclassDemo {
publicstaticvoidmain(String[] args) {
String[] roots = {"C:\\"};
FastFileIndex.build(roots);
longcount = FastFileIndex.getEntryCount();
System.out.println("Indexed " + count + " files!");
}
}

Table of Contents


Key Features

  • ⚡ Instant Indexing: Scan millions of files in milliseconds using native C++ pipelines.
  • 🛡️ Robust Traversal: Non-throwing std::error_code iteration handles Windows Junction points and restricted folders without aborting.
  • ⏱️ Zero Latency: Real-time results for massive file systems.
  • 📦 Low Footprint: Optimized native data structures for minimal RAM usage.

Performance

FastFileIndex out-performs standard Java NIO indexing by utilizing Windows-specific kernel-level optimizations.

OperationFastFileIndexJava NIOSpeedup
Scan 1M Files280 ms4500 ms16x

Installation

Option 1: Maven (Recommended)

Add the JitPack repository and the dependencies to your pom.xml:

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastfileindex</artifactId>
<version>0.1.1</version>
</dependency>
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastcore</artifactId>
<version>0.1.0</version>
</dependency>
</dependencies>

Option 2: Gradle (via JitPack)

repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.andrestubbe:fastfileindex:0.1.1'
implementation 'com.github.andrestubbe:fastcore:0.1.0'
}

Option 3: Direct Download (No Build Tool)

Download the latest JARs directly to add them to your classpath:

  1. 📦 fastfileindex-0.1.1.jar (The Core Library)
  2. ⚙️ fastcore-0.1.0.jar (The Mandatory Native Loader)

API Reference

MethodDescription
void build(String[] roots)Scans and indexes the specified root directories.
long getEntryCount()Returns the total number of indexed files.

Documentation

  • COMPILE.md: Full compilation guide (MSVC C++17 build chain + JNI Setup).
  • REFERENCE.md: Full API descriptions, border configurations, and codepoint index.
  • PHILOSOPHY.md: The engineering rationale for zero-allocation performance.
  • ROADMAP.md: Future milestones and planned features.

Platform Support

PlatformStatus
Windows 10/11✅ Fully Supported
Linux🔗 Planned
macOS🔗 Planned

License

MIT License See LICENSE file for details.


Related Projects


Part of the FastJava EcosystemMaking the JVM faster. Small package. Maximum speed. Zero bloat. 🚀📋