|
9 | 9 |
|
10 | 10 | --- |
11 | 11 |
|
12 | | -## 🗺️ The Ecosystem Map |
13 | | - |
14 | | -A unified directory of all FastJava modules. Categorized by functional domain, including real-world performance benchmarks. |
15 | | - |
16 | | -### 1. Input |
17 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
18 | | -|--------|---------------|-------------|------|--------|---------| |
19 | | -| **[FastHotkey](https://github.com/andrestubbe/fasthotkey)** | **❌ Java can't** | Global hotkeys — no Java API | Win32 hooks | Alpha | `v0.1.0` | |
20 | | -| **[FastKeyboard](https://github.com/andrestubbe/FastKeyboard)** | **16×** | RawInput vs standard AWT KeyListener | RawInput API | Alpha | `v0.1.0` | |
21 | | -| **[FastTouch](https://github.com/andrestubbe/fasttouch)** | **❌ Java can't** | Multi-touch pressure — no Java API | Win32 touch | Alpha | `v0.1.0` | |
22 | | -| **[FastStylus](https://github.com/andrestubbe/faststylus)** | **❌ Java can't** | Pen tilt/eraser — no Java API exists | WM_POINTER | Alpha | `v0.1.0` | |
23 | | -| **[FastKeylogger](https://github.com/andrestubbe/FastKeylogger)** | **—** | Global asynchronous keyboard tracking | Win32 Hooks | Alpha | `v0.1.2` | |
24 | | -| **[FastMouse](https://github.com/andrestubbe/FastMouse)** | **—** | Raw mouse reading | RawInput API | Alpha | `v0.1.0` | |
25 | | -| FastGamepad | — | Controller support | XInput | TODO | — | |
26 | | - |
27 | | -### 2. Output |
28 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
29 | | -|--------|---------------|-------------|------|--------|---------| |
30 | | -| **[FastDWM](https://github.com/andrestubbe/FastDWM)** | **—** | VSync & timing | DWM API | Alpha | `v0.1.0` | |
31 | | -| **[FastDisplay](https://github.com/andrestubbe/FastDisplay)** | **Instant** | Native DPI/resolution/refresh-rate | Win32, DWM | Alpha | `v0.2.0` | |
32 | | - |
33 | | -### 3. Automation |
34 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
35 | | -|--------|---------------|-------------|------|--------|---------| |
36 | | -| **[FastRobot](https://github.com/andrestubbe/fastrobot)** | **10-17×** | DirectX capture vs AWT Robot | DirectX | Alpha | `v0.1.0` | |
37 | | -| **[FastUIA](https://github.com/andrestubbe/fastuia)** | **❌ Java can't** | Native UIA vs slow polling | Native UIA | Alpha | `v0.1.0` | |
38 | | -| **[FastWindow](https://github.com/andrestubbe/FastWindow)** | **8×** | Flicker-free resize vs standard JFrame | Win32 API | Alpha | `v0.1.0` | |
39 | | -| **[FastScrape](https://github.com/andrestubbe/FastScrape)** | **—** | High-performance DOM scraping | Native HTML | Alpha | `v0.1.1` | |
40 | | -| **[FastSpider](https://github.com/andrestubbe/FastSpider)** | **—** | Asynchronous high-speed web crawler | NIO / Async | Alpha | `v0.1.1` | |
41 | | -| FastProcess | — | Process management | Win32 API | TODO | — | |
42 | | -| FastScheduler | — | Task scheduler | Priority queue | TODO | — | |
43 | | - |
44 | | -### 4. Graphics |
45 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
46 | | -|--------|---------------|-------------|------|--------|---------| |
47 | | -| **[FastGhostMouse](https://github.com/andrestubbe/FastGhostMouse)** | **120Hz GPU** | Secondary mouse overlay | DComposition | Alpha | `v0.1.0` | |
48 | | -| **[FastThumb](https://github.com/andrestubbe/FastThumb)** | **—** | Native OS thumbnail extraction | Windows Shell | Alpha | `v0.1.0` | |
49 | | -| **[FastPreview](https://github.com/andrestubbe/FastPreview)** | **—** | Native rasterization vs slow Swing | PDFium, WV2 | Alpha | `v0.1.1` | |
50 | | -| **[FastScreen](https://github.com/andrestubbe/fastscreen)** | **500-2000 FPS** | DXGI zero-copy vs 60 FPS Robot | DXGI, DX | Alpha | `v1.0.0-SNAPSHOT` | |
51 | | -| **[FastOverlay](https://github.com/andrestubbe/FastOverlay)** | **—** | Game overlays | DirectX | Alpha | `v0.1.0` | |
52 | | -| **[FastImage](https://github.com/andrestubbe/fastimage)** | **10-50×** | SIMD resize/blur vs BufferedImage | SIMD, AVX2 | Alpha | `v0.1.1` | |
53 | | -| **[FastImageView](https://github.com/andrestubbe/fastimageview)** | **10×** | 200ms startup vs 2s Swing | DirectX | Alpha | `v0.1.0` | |
54 | | -| **[FastGraphics](https://github.com/andrestubbe/fastgraphics)** | **600%** | GPU DirectX vs Java2D software | DirectX, GPU | Alpha | `v1.0.0` | |
55 | | -| **[FastSoftware3D](https://github.com/andrestubbe/FastSoftware3D)** | **—** | Software 3D rendering pipeline | AVX2 SIMD | Alpha | `v0.1.0` | |
56 | | - |
57 | | -### 5. Audio |
58 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
59 | | -|--------|---------------|-------------|------|--------|---------| |
60 | | -| **[FastAudioCapture](https://github.com/andrestubbe/FastAudioCapture)** | **❌ No WASAPI** | Real-time capture vs Java Sound | WASAPI, AVX2 | Alpha | `v0.1.1` | |
61 | | -| **[FastAudioPlayer](https://github.com/andrestubbe/FastAudioPlayer)** | **20-30×** | Low-latency playback vs Java Sound | WASAPI, AVX2 | Alpha | `v0.1.2` | |
62 | | -| **[FastAudioProcess](https://github.com/andrestubbe/FastAudioProcess)** | **—** | Audio processing & formant analysis | WASAPI / DSP | Alpha | `v0.1.1` | |
63 | | -| **[FastWakeWord](https://github.com/andrestubbe/FastWakeWord)** | **—** | Always-on native wake-word detection | Audio DSP | Alpha | `v0.1.0` | |
64 | | -| **[FastTTS](https://github.com/andrestubbe/FastTTS)** | **—** | Text-to-speech | SIMD, Piper/Cloud | Alpha | `v0.1.2` | |
65 | | -| **[FastSTT](https://github.com/andrestubbe/FastSTT)** | **—** | Speech-to-text | Whisper | Alpha | `v0.1.2` | |
66 | | - |
67 | | -### 6. Parsing |
68 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
69 | | -|--------|---------------|-------------|------|--------|---------| |
70 | | -| **[FastBytes](https://github.com/andrestubbe/fastbytes)** | **2-50×** | AVX2 bulk ops vs standard Java | SIMD, AVX2 | Alpha | `v0.1.1` | |
71 | | -| **[FastBinary](https://github.com/andrestubbe/FastBinary)** | **—** | Zero-bloat bit-packing, VarInt & endianness | Zero-Alloc | Alpha | `v0.1.0` | |
72 | | -| **[FastJSON](https://github.com/andrestubbe/fastjson)** | **50×** | 50× faster than Jackson/Gson | SIMD, Zero-GC| Alpha | `v0.1.3` | |
73 | | -| **[FastString](https://github.com/andrestubbe/faststring)** | **10-100×** | UTF-8 ops vs Java String | SIMD, UTF-8 | Alpha | `v0.1.1` | |
74 | | -| **[FastANSI](https://github.com/andrestubbe/FastANSI)** | **45-48×** | Zero-allocation ANSI state parser | State Machine | Alpha | `v0.1.2` | |
75 | | -| **[FastASCII](https://github.com/andrestubbe/FastASCII)** | **—** | Zero-allocation ASCII & UTF-8 byte engine | SIMD, Byte | Alpha | `v0.1.0` | |
76 | | -| **[FastContentParse](https://github.com/andrestubbe/FastContentParse)** | **—** | Standardized content normalization & extraction | Parser | Alpha | `v0.1.4` | |
77 | | -| **[FastEmojis](https://github.com/andrestubbe/FastEmojis)** | **34-56×** | Zero-allocation Emoji width engine | East Asian Width | Alpha | `v0.1.0` | |
78 | | -| **[FastTokenize](https://github.com/andrestubbe/FastTokenize)** | **Sub-µs** | $O(n)$ multi-language scanner & style stream | Zero-Alloc | Alpha | `v0.1.1` | |
79 | | -| **[FastRegex](https://github.com/andrestubbe/FastRegex)** | **2.5–13.2×** | Zero-allocation pattern scanner & SIMD normalizer | Zero-Alloc, SIMD | Alpha | `v0.1.0` | |
80 | | -| FastHTML | — | HTML parser | SIMD | TODO | — | |
81 | | - |
82 | | -### 7. Math |
83 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
84 | | -|--------|---------------|-------------|------|--------|---------| |
85 | | -| **[FastFloat](https://github.com/andrestubbe/fastfloat)** | **5-12×** | SIMD parsing vs Float.parseFloat() | SIMD, AVX2 | Alpha | `v0.1.1` | |
86 | | -| **[FastMath](https://github.com/andrestubbe/fastmath)** | **3-8×** | JNI SIMD + OpenCL GPU vs java.lang.Math| OpenCL, SIMD | Alpha | `v0.1.0` | |
87 | | - |
88 | | -### 8. Filesystem |
89 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
90 | | -|--------|---------------|-------------|------|--------|---------| |
91 | | -| **[FastFileFormat](https://github.com/andrestubbe/FastFileFormat)** | **—** | Dual text/binary streaming format with aliases | Binary / Text | Alpha | `v0.1.0` | |
92 | | -| **[FastFileIndex](https://github.com/andrestubbe/FastFileIndex)** | **8×** | Native mmap scan vs Files.walk() | mmap, scan | Alpha | `v0.1.1` | |
93 | | -| **[FastFileSearch](https://github.com/andrestubbe/FastFileSearch)** | **100-1000×** | Indexed trie vs linear search | Prefix trie | Alpha | `v0.1.0` | |
94 | | -| **[FastFileWatch](https://github.com/andrestubbe/FastFileWatch)** | **10-100×** | USN Journal vs WatchService | USN Journal | Alpha | `v0.1.0` | |
95 | | -| **[FastFileSystem](https://github.com/andrestubbe/FastFileSystem)** | **8-15×** | Index + Search + Watch in one API | Unified API | Alpha | `v0.1.0` | |
96 | | -| **[FastFileScrape](https://github.com/andrestubbe/FastFileScrape)** | **5–10×** | Native file scraping vs Java IO | Tree + Content | Alpha | `v1.0-SNAPSHOT` | |
97 | | -| **[FastFileContentIndex](https://github.com/andrestubbe/FastFileContentIndex)** | **—** | High-speed 3-gram bloom filter & in-file text index | SIMD, Bloom | Alpha | `v0.1.1` | |
98 | | -| **[FastIO](https://github.com/andrestubbe/fastio)** | **2.5-11×** | AVX2 Search, DMA Copy, mmap | AVX2, DMA | Alpha | `v0.1.1` | |
99 | | -| **[FastGLOB](https://github.com/andrestubbe/FastGLOB)** | **13×** | Native Win32 globbing vs PathMatcher | Win32, C++ | Alpha | `v0.1.0` | |
100 | | -| **[FastCompress](https://github.com/andrestubbe/FastCompress)** | **—** | Ultra-fast native compression | SIMD, AVX2 | Alpha | `v0.1.1` | |
101 | | - |
102 | | -### 9. System |
103 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
104 | | -|--------|---------------|-------------|------|--------|---------| |
105 | | -| **[FastCore](https://github.com/andrestubbe/fastcore)** | **—** | Cross-platform DLL loader | JNI Loader | Alpha | `v0.1.0` | |
106 | | -| **[FastHardware](https://github.com/andrestubbe/FastHardware)** | **—** | Global hardware telemetry | PDH/WMI | TODO | `v0.1.0` | |
107 | | -| **[FastClipboard](https://github.com/andrestubbe/fastclipboard)** | **2-3×** | Native vs AWT, zero bugs | Win32 API | Alpha | `v0.1.0` | |
108 | | -| **[FastMemory](https://github.com/andrestubbe/FastMemory)** | **—** | SIMD 32-byte aligned RAM & page locking | Unsafe, Win32 | Alpha | `v0.1.1` | |
109 | | -| **[FastPointer](https://github.com/andrestubbe/FastPointer)** | **—** | Zero-overhead native address arithmetic | JNI / Direct | Alpha | `v0.1.1` | |
110 | | -| **[FastSharedMemory](https://github.com/andrestubbe/FastSharedMemory)** | **—** | Zero-copy IPC memory mapped files | Win32 IPC | Alpha | `v0.1.1` | |
111 | | -| **[FastSIMD](https://github.com/andrestubbe/FastSIMD)** | **—** | Hardware SIMD vectorization | AVX2, NEON | Alpha | `v0.1.3` | |
112 | | - |
113 | | -### 10. Network |
114 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
115 | | -|--------|---------------|-------------|------|--------|---------| |
116 | | -| FastNet | — | Network operations | Zero-copy | TODO | — | |
117 | | -| FastDNS | — | DNS resolver | Async | TODO | — | |
118 | | -| FastTLS | — | TLS/HTTPS | OpenSSL | TODO | — | |
119 | | - |
120 | | -### 11. Security |
121 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
122 | | -|--------|---------------|-------------|------|--------|---------| |
123 | | -| FastCrypto | — | Encryption | AES/SIMD | TODO | — | |
124 | | -| FastSecureRandom | — | Secure RNG | Hardware | TODO | — | |
125 | | -| FastKeychain | — | Credential store | Windows | TODO | — | |
126 | | - |
127 | | -### 12. AI |
128 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
129 | | -|--------|---------------|-------------|------|--------|---------| |
130 | | -| **[FastAI](https://github.com/andrestubbe/FastAI)** | **—** | Unified provider routing & LLM client layer | Multi-Provider | Alpha | `v0.1.5` | |
131 | | -| **[FastAIAgent](https://github.com/andrestubbe/FastAIAgent)** | **—** | Autonomous agent logic, tools & planning | Agent Loop | Alpha | `v0.1.5` | |
132 | | -| **[FastAIBot](https://github.com/andrestubbe/FastAIBot)** | **—** | High-performance bot orchestrator | LLM / Runtime | Alpha | `v0.1.2` | |
133 | | -| **[FastAIRuntime](https://github.com/andrestubbe/FastAIRuntime)** | **—** | Deterministic execution engine & FastAIEventBus | Runtime | Alpha | `v0.1.0` | |
134 | | -| **[FastAIModel](https://github.com/andrestubbe/FastAIModel)** | **—** | Local ONNX & GGUF matrix inference runtime | ONNX / DirectML | Alpha | `v0.1.2` | |
135 | | -| **[FastAIRag](https://github.com/andrestubbe/FastAIRag)** | **—** | High-speed retrieval augmented generation pipeline | RAG / Hybrid | Alpha | `v0.1.1` | |
136 | | -| **[FastAIMemory](https://github.com/andrestubbe/FastAIMemory)** | **—** | Short-term & long-term conversational memory | Context Store | Alpha | `v0.1.3` | |
137 | | -| **[FastAIVectorDB](https://github.com/andrestubbe/FastAIVectorDB)** | **—** | Zero-allocation vector database with built-in Embedder | AVX2 / JNI | Alpha | `v0.1.4` | |
138 | | -| **[FastAIMCP](https://github.com/andrestubbe/FastAIMCP)** | **—** | Model Context Protocol client & stdio tool bridge | MCP | Alpha | `v0.1.0` | |
139 | | -| **[FastAIReasoner](https://github.com/andrestubbe/FastAIReasoner)** | **—** | Multi-step reasoning, CoT & heuristic planning | Tree-of-Thoughts | Alpha | `v0.1.0` | |
140 | | -| **[FastAIGraph](https://github.com/andrestubbe/FastAIGraph)** | **—** | In-memory knowledge graph & multi-hop traversal | Entity Linking | Alpha | `v0.1.0` | |
141 | | -| **[FastAIRerank](https://github.com/andrestubbe/FastAIRerank)** | **—** | Cross-encoder relevance scoring & ranking | Reranker | Alpha | `v0.1.0` | |
142 | | -| **[FastAIHybrid](https://github.com/andrestubbe/FastAIHybrid)** | **—** | Hybrid dense & sparse retrieval fusion | Fusion Engine | Alpha | `v0.1.0` | |
143 | | -| **[FastAIState](https://github.com/andrestubbe/FastAIState)** | **—** | Lock-free shared agent state & blackboard memory | Shared Memory | Alpha | `v0.1.1` | |
144 | | -| **[FastAIMetrics](https://github.com/andrestubbe/FastAIMetrics)** | **—** | Token usage, latency profiling, cost & evaluation | Telemetry / VarInt | Alpha | `v0.1.0` | |
145 | | -| **[FastAIVision](https://github.com/andrestubbe/FastAIVision)** | **—** | Local multimodal vision & UI grounding pipeline | Qwen2-VL / SmolVLM | Alpha | `v0.1.1` | |
146 | | -| **[FastAIMatcher](https://github.com/andrestubbe/FastAIMatcher)** | **—** | Automated SOX compliance & hybrid rule matching | Rule Engine / VarInt | Alpha | `v0.1.1` | |
147 | | - |
148 | | -### 13. Vision |
149 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
150 | | -|--------|---------------|-------------|------|--------|---------| |
151 | | -| **[FastCamera](https://github.com/andrestubbe/FastCamera)** | **—** | Native low-latency webcam capture | DirectShow | Alpha | `v0.1.0` | |
152 | | -| **[FastOCR](https://github.com/andrestubbe/FastOCR)** | **10× faster** | WinRT OCR vs Tesseract4J | WinRT OCR | Alpha | `v0.1.0` | |
153 | | -| FastVision | — | Vision-Modelle / GPU-Kernels | GPU shaders | TODO | — | |
154 | | - |
155 | | -### 14. Animation |
156 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
157 | | -|--------|---------------|-------------|------|--------|---------| |
158 | | -| **[FastTween](https://github.com/andrestubbe/fasttween)** | **Zero overhead** | No built-in tweening | Pool | Alpha | `v0.1.0` | |
159 | | -| **[FastAnimation](https://github.com/andrestubbe/fastanimation)** | **Zero overhead** | No built-in timelines — pure Java | Timeline | Alpha | `v0.1.0` | |
160 | | - |
161 | | -### 15. UI |
162 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
163 | | -|--------|---------------|-------------|------|--------|---------| |
164 | | -| **[FastTheme](https://github.com/andrestubbe/fasttheme)** | **❌ Java can't** | Native Windows theming | WinRT, DWM | Alpha | `v0.1.2` | |
165 | | -| **[FastUI](https://github.com/andrestubbe/FastUI)** | **—** | Core UI building blocks | Native | Alpha | `v0.1.1` | |
166 | | -| **[FastProportion](https://github.com/andrestubbe/FastProportion)** | **—** | Proportional layout engine | Core | Alpha | `v0.1.0` | |
167 | | -| **[FastGrid](https://github.com/andrestubbe/FastGrid)** | **—** | High-performance grid layout | Core | Alpha | `v0.1.0` | |
168 | | -| **[FastNotification](https://github.com/andrestubbe/fastnotification)** | **❌ Broken** | SystemTray broken → native WinRT | WinRT, Toast| Alpha | `v0.1.0` | |
169 | | -| **[FastConPTY](https://github.com/andrestubbe/FastConPTY)** | **—** | Native Windows ConPTY connector | Win32 PTY | Alpha | `v0.1.0` | |
170 | | -| **[FastTerminal](https://github.com/andrestubbe/FastTerminal)** | **❌ Java can't** | Double-buffered TUI blitting | Win32 console, JNI | Alpha | `v0.1.11` | |
171 | | -| **[FastTerminal3D](https://github.com/andrestubbe/FastTerminal3D)** | **—** | 3D terminal renderer for Java | Terminal | Alpha | `v0.1.0` | |
172 | | -| **[FastTUI](https://github.com/andrestubbe/FastTUI)** | **—** | Terminal UI framework for Java | Win32 Console | Alpha | `v0.1.3` | |
173 | | - |
174 | | -### 16. Compute |
175 | | -| Module | Speed vs Java | Key Metrics | Tech | Status | Version | |
176 | | -|--------|---------------|-------------|------|--------|---------| |
177 | | -| **[FastGPU](https://github.com/andrestubbe/FastGPU)** | **50–500×** | GPU Compute, SPIR-V, Vulkan Compute, Zero-Copy Buffers | Vulkan, SPIR-V, OpenCL | Alpha | `v0.1.0` | |
| 12 | +### 🗺️ The Ecosystem |
| 13 | + |
| 14 | +FastJava is not a framework — it is a modular, full-stack performance ecosystem designed to remove the unnecessary distance between Java and the machine. |
| 15 | + |
| 16 | +Where the standard JVM abstracts, stalls, or lacks native interfaces entirely, FastJava provides thin, near-zero-overhead JNI bridges directly into DirectX, Win32, AVX2/AVX-512 SIMD, and native OS subsystems. |
| 17 | + |
| 18 | +- ⌨️ **Input & Windowing** — Global low-latency hotkeys (e.g. `FastHotkey`), RawInput (`FastKeyboard`, `FastMouse`), Stylus/Touch, native window controls (`FastWindow`). |
| 19 | +- 🖥️ **Graphics & Screen** — DXGI sub-millisecond desktop capture (`FastScreen`), bit-perfect grabber (`FastScreenCapture`), GPU overlays (`FastOverlay`, `FastGhostMouse`). |
| 20 | +- ⚡ **Compute & Memory** — AVX2/AVX-512 vectorization (`FastSIMD`), page-locked off-heap RAM (`FastMemory`), pointer arithmetic (`FastPointer`), GPU Compute (`FastGPU`). |
| 21 | +- 📁 **Filesystem & I/O** — USN Journal change journal (`FastFileWatch`), mmap multi-threading (`FastFileIndex`, `FastIO`), Trie-search (`FastFileSearch`). |
| 22 | +- 🎧 **Audio & Media** — WASAPI hardware capture & loopback (`FastAudioCapture`, `FastAudioPlayer`), real-time STT/TTS, wake-word detection (`FastWakeWord`). |
| 23 | +- 🏎️ **Parsing & Strings** — SIMD-accelerated JSON (`FastJSON`), UTF-8 processing (`FastString`), state-machine ANSI (`FastANSI`), zero-alloc regex (`FastRegex`). |
| 24 | +- 🧠 **AI & Machine Learning** — Local matrix inference (`FastAIModel`), zero-alloc vector database (`FastAIVectorDB`), autonomous agents (`FastAIAgent`), knowledge graphs (`FastAIMemoryGraph`). |
| 25 | + |
| 26 | +👉 **Full module directory, architecture layers & real-world benchmarks:** |
| 27 | +🔗 **[docs/ECOSYSTEM.md](docs/ECOSYSTEM.md)** |
178 | 28 |
|
179 | 29 | --- |
180 | 30 |
|
|
0 commit comments