1- # FastFileIndex — Ultra-Fast Native File Indexing for Java
1+ # FastFileIndex v0.1.0 [ ALPHA] — Ultra-Fast Native File Indexing for Java
2+
3+ [ ![ Status] ( https://img.shields.io/badge/status-v0.1.0-brightgreen.svg )] ( https://github.com/andrestubbe/FastFileIndex/releases/tag/v0.1.0 )
4+ [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT )
5+ [ ![ Java] ( https://img.shields.io/badge/Java-17+-blue.svg )] ( https://www.java.com )
6+ [ ![ Platform] ( https://img.shields.io/badge/Platform-Windows%2010+-lightgrey.svg )] ( )
7+ [ ![ JitPack] ( https://img.shields.io/badge/JitPack-ready-green.svg )] ( https://jitpack.io/#andrestubbe )
28
39** Scan and search millions of files in milliseconds with zero latency.**
410
5- 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.
11+ FastFileIndex is the high-performance file indexing engine for the FastJava ecosystem. It bypasses standard Java file IO
12+ to provide direct, native-accelerated indexing and search capabilities for massive directory trees.
13+
14+ [ ![ FastFileIndex Showcase] ( docs/screenshot.png )] ( https://www.youtube.com/watch?v=BZsqQl7WqWk )
615
716``` java
817// Quick Start — Indexing a directory
18+
919import fastfileindex.FastFileIndex ;
1020
1121public class Demo {
1222 public static void main (String [] args ) {
13- String [] roots = { " C:\\ " };
23+ String [] roots = {" C:\\ " };
1424 FastFileIndex . build(roots);
15-
25+
1626 long count = FastFileIndex . getEntryCount();
1727 System . out. println(" Indexed " + count + " files!" );
1828 }
1929}
2030```
2131
22- [ ![ Status] ( https://img.shields.io/badge/status-v0.1.0-brightgreen.svg )] ( https://github.com/andrestubbe/FastFileIndex/releases/tag/v0.1.0 )
23- [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT )
24- [ ![ Java] ( https://img.shields.io/badge/Java-17+-blue.svg )] ( https://www.java.com )
25- [ ![ Platform] ( https://img.shields.io/badge/Platform-Windows%2010+-lightgrey.svg )] ( )
26- [ ![ JitPack] ( https://img.shields.io/badge/JitPack-ready-green.svg )] ( https://jitpack.io/#andrestubbe )
27-
2832---
2933
3034## Table of Contents
35+
3136- [ Key Features] ( #key-features )
3237- [ Performance] ( #performance )
3338- [ Installation] ( #installation )
@@ -52,18 +57,20 @@ public class Demo {
5257
5358FastFileIndex out-performs standard Java NIO indexing by utilizing Windows-specific kernel-level optimizations.
5459
55- | Operation | FastFileIndex | Java NIO | Speedup |
56- | -----------| ---------| ---------------| ---------|
57- | Scan 1M Files | 280 ms | 4500 ms | ** 16x** |
60+ | Operation | FastFileIndex | Java NIO | Speedup |
61+ | --------------- | --------------- | ----------| ---------|
62+ | Scan 1M Files | 280 ms | 4500 ms | ** 16x** |
5863
5964---
6065
6166## Installation
6267
6368### Option 1: Maven (Recommended)
69+
6470Add the JitPack repository and the dependencies to your ` pom.xml ` :
6571
6672``` xml
73+
6774<repositories >
6875 <repository >
6976 <id >jitpack.io</id >
@@ -72,23 +79,24 @@ Add the JitPack repository and the dependencies to your `pom.xml`:
7279</repositories >
7380
7481<dependencies >
75- <!-- FastFileIndex Library -->
76- <dependency >
77- <groupId >com.github.andrestubbe</groupId >
78- <artifactId >fastfileindex</artifactId >
79- <version >v0.1.0</version >
80- </dependency >
81-
82- <!-- FastCore (Required Native Loader) -->
83- <dependency >
84- <groupId >com.github.andrestubbe</groupId >
85- <artifactId >fastcore</artifactId >
86- <version >v0.1.0</version >
87- </dependency >
82+ <!-- FastFileIndex Library -->
83+ <dependency >
84+ <groupId >com.github.andrestubbe</groupId >
85+ <artifactId >fastfileindex</artifactId >
86+ <version >v0.1.0</version >
87+ </dependency >
88+
89+ <!-- FastCore (Required Native Loader) -->
90+ <dependency >
91+ <groupId >com.github.andrestubbe</groupId >
92+ <artifactId >fastcore</artifactId >
93+ <version >v0.1.0</version >
94+ </dependency >
8895</dependencies >
8996```
9097
9198### Option 2: Gradle (via JitPack)
99+
92100``` groovy
93101repositories {
94102 maven { url 'https://jitpack.io' }
@@ -101,30 +109,33 @@ dependencies {
101109```
102110
103111### Option 3: Direct Download (No Build Tool)
112+
104113Download the latest JARs directly to add them to your classpath:
105114
106- 1 . 📦 ** [ fastfileindex-v0.1.0.jar] ( https://github.com/andrestubbe/FastFileIndex/releases/download/v0.1.0/fastfileindex-v0.1.0.jar ) ** (The Core Library)
107- 2 . ⚙️ ** [ fastcore-v0.1.0.jar] ( https://github.com/andrestubbe/FastCore/releases/download/v0.1.0/fastcore-v0.1.0.jar ) ** (The Mandatory Native Loader)
115+ 1 . 📦 *
116+ * [ fastfileindex-v0.1.0.jar] ( https://github.com/andrestubbe/FastFileIndex/releases/download/v0.1.0/fastfileindex-v0.1.0.jar )
117+ ** (The Core Library)
118+ 2 . ⚙️ ** [ fastcore-v0.1.0.jar] ( https://github.com/andrestubbe/FastCore/releases/download/v0.1.0/fastcore-v0.1.0.jar ) ** (
119+ The Mandatory Native Loader)
108120
109121> [ !IMPORTANT]
110122> All JARs must be in your classpath for the native JNI calls to function correctly.
111123
112-
113124## API Reference
114125
115- | Method | Description |
116- | --------| -------------|
126+ | Method | Description |
127+ | ------------------------------ | -------------------------------------- -------------|
117128| ` void build(String[] roots) ` | Scans and indexes the specified root directories. |
118- | ` long getEntryCount() ` | Returns the total number of indexed files. |
129+ | ` long getEntryCount() ` | Returns the total number of indexed files. |
119130
120131---
121132
122133## Platform Support
123134
124- | Platform | Status |
125- | ----------| --------|
135+ | Platform | Status |
136+ | --------------------- | ----------- --------|
126137| Windows 10/11 (x64) | ✅ Fully Supported |
127- | Linux | 🚧 Planned |
138+ | Linux | 🚧 Planned |
128139
129140---
130141
@@ -135,11 +146,13 @@ For detailed instructions on compiling the C++ JNI code, see [COMPILE.md](COMPIL
135146---
136147
137148## License
149+
138150MIT License — See [ LICENSE] ( LICENSE ) file for details.
139151
140152---
141153
142154## Related Projects
155+
143156- [ FastCore] ( https://github.com/andrestubbe/FastCore ) — Native Library Loader for Java
144157- [ FastFileSearch] ( https://github.com/andrestubbe/FastFileSearch ) — Real-time fuzzy search engine
145158- [ FastThumb] ( https://github.com/andrestubbe/FastThumb ) — Native Shell Image Engine
0 commit comments