|
| 1 | +# ⚡ FastJava — Native Java Performance Ecosystem [ALPHA] |
| 2 | + |
| 3 | +> **5-50× faster than standard Java** — JNI-native libraries for automation, screen capture, graphics, math, JSON, and more. |
| 4 | +
|
| 5 | +[](https://opensource.org/licenses/MIT) |
| 6 | +[](https://www.java.com) |
| 7 | +[](https://jitpack.io/#andrestubbe) |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## 🗺️ The Ecosystem Map |
| 12 | + |
| 13 | +A unified directory of all FastJava modules. Categorized by functional domain, including real-world performance benchmarks. |
| 14 | + |
| 15 | +### 1. Input |
| 16 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 17 | +|--------|---------------|-------------|------|--------| |
| 18 | +| **[FastHotkey](https://github.com/andrestubbe/fasthotkey)** | **❌ Java can't** | Global hotkeys — no Java API | Win32 hooks | Alpha | |
| 19 | +| **[FastKeyboard](https://github.com/andrestubbe/FastKeyboard)** | **16×** | RawInput vs standard AWT KeyListener | RawInput API | Alpha | |
| 20 | +| **[FastTouch](https://github.com/andrestubbe/fasttouch)** | **❌ Java can't** | Multi-touch pressure — no Java API | Win32 touch | Alpha | |
| 21 | +| **[FastStylus](https://github.com/andrestubbe/faststylus)** | **❌ Java can't** | Pen tilt/eraser — no Java API exists | WM_POINTER | Alpha | |
| 22 | +| FastMouse | — | Raw mouse reading | RawInput API | TODO | |
| 23 | +| FastGamepad | — | Controller support | XInput | TODO | |
| 24 | + |
| 25 | +### 2. Output |
| 26 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 27 | +|--------|---------------|-------------|------|--------| |
| 28 | +| **[FastDisplay](https://github.com/andrestubbe/FastDisplay)** | **Instant** | Native DPI/resolution/refresh-rate | Win32, DWM | Beta | |
| 29 | +| FastDWM | — | VSync & timing | DWM API | TODO | |
| 30 | + |
| 31 | +### 3. Automation |
| 32 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 33 | +|--------|---------------|-------------|------|--------| |
| 34 | +| **[FastRobot](https://github.com/andrestubbe/fastrobot)** | **10-17×** | DirectX capture vs AWT Robot | DirectX | Alpha | |
| 35 | +| **[FastUIA](https://github.com/andrestubbe/fastuia)** | **❌ Java can't** | Native UIA vs slow polling | Native UIA | Alpha | |
| 36 | +| **[FastWindow](https://github.com/andrestubbe/FastWindow)** | **8×** | Flicker-free resize vs standard JFrame | Win32 API | Alpha | |
| 37 | +| FastProcess | — | Process management | Win32 API | TODO | |
| 38 | +| FastScheduler | — | Task scheduler | Priority queue | TODO | |
| 39 | + |
| 40 | +### 4. Graphics |
| 41 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 42 | +|--------|---------------|-------------|------|--------| |
| 43 | +| **[FastGraphics](https://github.com/andrestubbe/fastgraphics)** | **600%** | GPU DirectX vs Java2D software | DirectX, GPU | Beta | |
| 44 | +| **[FastImage](https://github.com/andrestubbe/fastimage)** | **10-50×** | SIMD resize/blur vs BufferedImage | SIMD, AVX2 | Beta | |
| 45 | +| **[FastImageView](https://github.com/andrestubbe/fastimageview)** | **10×** | 200ms startup vs 2s Swing | DirectX | Beta | |
| 46 | +| **[FastPreview](https://github.com/andrestubbe/fastpreview)** | **❌ Java can't** | Native rasterization vs slow Swing | PDFium, WV2 | Alpha | |
| 47 | +| **[FastScreen](https://github.com/andrestubbe/fastscreen)** | **500-2000 FPS** | DXGI zero-copy vs 60 FPS Robot | DXGI, DX | Stable | |
| 48 | +| **[FastGhostMouse](https://github.com/andrestubbe/FastGhostMouse)** | **120Hz GPU** | Secondary mouse overlay | DComposition | Beta | |
| 49 | +| FastOverlay | — | Game overlays | DirectX | TODO | |
| 50 | + |
| 51 | +### 5. Audio |
| 52 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 53 | +|--------|---------------|-------------|------|--------| |
| 54 | +| **[FastAudioCapture](https://github.com/andrestubbe/FastAudioCapture)** | **❌ No WASAPI** | Real-time capture vs Java Sound | WASAPI | Alpha | |
| 55 | +| **[FastAudioPlayer](https://github.com/andrestubbe/FastAudioPlayer)** | **❌ No WASAPI** | Low-latency playback vs Java Sound | WASAPI | Alpha | |
| 56 | +| FastTTS | — | Text-to-speech | Piper/Cloud | TODO | |
| 57 | +| FastSTT | — | Speech-to-text | Whisper | TODO | |
| 58 | + |
| 59 | +### 6. Parsing |
| 60 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 61 | +|--------|---------------|-------------|------|--------| |
| 62 | +| **[FastBytes](https://github.com/andrestubbe/fastbytes)** | **2-50×** | AVX2 bulk ops vs standard Java | SIMD, AVX2 | Stable | |
| 63 | +| **[FastJSON](https://github.com/andrestubbe/fastjson)** | **50×** | 50× faster than Jackson/Gson | SIMD, Zero-GC| Stable | |
| 64 | +| **[FastString](https://github.com/andrestubbe/faststring)** | **10-100×** | UTF-8 ops vs Java String | SIMD, UTF-8 | Stable | |
| 65 | +| **[FastTokenizer](https://github.com/andrestubbe/fasttokenizer)** | **10-25×** | O(n) SIMD scanner vs slow Regex | Deterministic| Alpha | |
| 66 | +| FastHTML | — | HTML parser | SIMD | TODO | |
| 67 | +| FastRegex | — | SIMD regex engine | AVX2 | TODO | |
| 68 | + |
| 69 | +### 7. Math |
| 70 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 71 | +|--------|---------------|-------------|------|--------| |
| 72 | +| **[FastFloat](https://github.com/andrestubbe/fastfloat)** | **5-12×** | SIMD parsing vs Float.parseFloat() | SIMD, AVX2 | Stable | |
| 73 | +| **[FastMath](https://github.com/andrestubbe/fastmath)** | **3-8×** | JNI SIMD + OpenCL GPU vs java.lang.Math| OpenCL, SIMD | Beta | |
| 74 | +| FastSIMD | — | SIMD operations framework | AVX2/512 | TODO | |
| 75 | + |
| 76 | +### 8. Filesystem |
| 77 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 78 | +|--------|---------------|-------------|------|--------| |
| 79 | +| **[FastFileIndex](https://github.com/andrestubbe/FastFileIndex)** | **8×** | Native mmap scan vs Files.walk() | mmap, scan | Beta | |
| 80 | +| **[FastFileSearch](https://github.com/andrestubbe/FastFileSearch)** | **100-1000×** | Indexed trie vs linear search | Prefix trie | Alpha | |
| 81 | +| **[FastFileSystem](https://github.com/andrestubbe/FastFileSystem)** | **Unified** | Index + Search + Watch in one API | Unified API | Alpha | |
| 82 | +| **[FastFileWatch](https://github.com/andrestubbe/FastFileWatch)** | **10-100×** | USN Journal vs WatchService | USN Journal | Alpha | |
| 83 | + |
| 84 | +### 9. System |
| 85 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 86 | +|--------|---------------|-------------|------|--------| |
| 87 | +| **[FastClipboard](https://github.com/andrestubbe/fastclipboard)** | **2-3×** | Native vs AWT, zero bugs | Win32 API | Stable | |
| 88 | +| **[FastIO](https://github.com/andrestubbe/fastio)** | **2.5-11×** | AVX2 Search, DMA Copy, mmap | AVX2, DMA | Stable | |
| 89 | +| **[FastCore](https://github.com/andrestubbe/fastcore)** | **—** | Cross-platform DLL loader | JNI Loader | Stable | |
| 90 | +| FastPointer | — | Native pointer operations | JNI | TODO | |
| 91 | +| FastMemory | — | System/RAM access | Unsafe | TODO | |
| 92 | +| FastHardware | — | Global hardware telemetry | PDH/WMI | TODO | |
| 93 | + |
| 94 | +### 10. Network |
| 95 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 96 | +|--------|---------------|-------------|------|--------| |
| 97 | +| FastNet | — | Network operations | Zero-copy | TODO | |
| 98 | +| FastDNS | — | DNS resolver | Async | TODO | |
| 99 | +| FastTLS | — | TLS/HTTPS | OpenSSL | TODO | |
| 100 | + |
| 101 | +### 11. Security |
| 102 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 103 | +|--------|---------------|-------------|------|--------| |
| 104 | +| FastCrypto | — | Encryption | AES/SIMD | TODO | |
| 105 | +| FastSecureRandom | — | Secure RNG | Hardware | TODO | |
| 106 | +| FastKeychain | — | Credential store | Windows | TODO | |
| 107 | + |
| 108 | +### 12. AI |
| 109 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 110 | +|--------|---------------|-------------|------|--------| |
| 111 | +| FastAIService | — | Router/Orchestrator | API | TODO | |
| 112 | +| FastModel | — | Model-Runtime | ONNX | TODO | |
| 113 | +| FastRAG | — | Retrieval-Augmented Generation | Pipeline | TODO | |
| 114 | +| FastMCP | — | Model Context Protocol Adapter | MCP | TODO | |
| 115 | + |
| 116 | +### 13. Vision |
| 117 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 118 | +|--------|---------------|-------------|------|--------| |
| 119 | +| **[FastOCR](https://github.com/andrestubbe/FastOCR)** | **10× faster** | WinRT OCR vs Tesseract4J | WinRT OCR | Alpha | |
| 120 | +| FastVision | — | Vision-Modelle / GPU-Kernels | GPU shaders | TODO | |
| 121 | + |
| 122 | +### 14. Animation |
| 123 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 124 | +|--------|---------------|-------------|------|--------| |
| 125 | +| **[FastAnimation](https://github.com/andrestubbe/fastanimation)** | **Zero overhead** | No built-in timelines — pure Java | Timeline | Stable | |
| 126 | +| **[FastTween](https://github.com/andrestubbe/fasttween)** | **Zero overhead** | No built-in tweening | Pool | Stable | |
| 127 | + |
| 128 | +### 15. UI |
| 129 | +| Module | Speed vs Java | Key Metrics | Tech | Status | |
| 130 | +|--------|---------------|-------------|------|--------| |
| 131 | +| **[FastTheme](https://github.com/andrestubbe/fasttheme)** | **❌ Java can't** | Native Windows theming | WinRT, DWM | Beta | |
| 132 | +| **[FastNotification](https://github.com/andrestubbe/fastnotification)** | **❌ Broken** | SystemTray broken → native WinRT | WinRT, Toast| Alpha | |
| 133 | + |
| 134 | +--- |
| 135 | + |
| 136 | +## 🎯 Philosophy |
| 137 | + |
| 138 | +Java alone cannot do: |
| 139 | +- ❌ Global hotkeys when unfocused |
| 140 | +- ❌ Low-latency screen capture |
| 141 | +- ❌ Reliable clipboard operations |
| 142 | +- ❌ Hardware I/O access |
| 143 | +- ❌ GPU acceleration |
| 144 | +- ❌ Native input devices |
| 145 | + |
| 146 | +**FastJava fixes this.** Pure C++ accelerators. JNI bindings. Zero overhead. |
| 147 | + |
| 148 | +--- |
| 149 | + |
| 150 | +## 🌌 Origin Story |
| 151 | + |
| 152 | +### 🌒 WHY — The Restlessness Before the First Module |
| 153 | +**Junior:** "Java is slow… right? Everyone says that. Must be normal." |
| 154 | +**Senior:** "No. That's not a law of nature. That's just bad architecture." |
| 155 | +**Designer:** "I see friction. I see unnecessary layers. This feels wrong." |
| 156 | +A shift begins: acceptance → doubt → clarity. |
| 157 | +Java developers treat slowness like gravity: unavoidable, unquestioned, built into the universe. We refused that worldview. We wanted proof that "slow" wasn't a law of nature — just a habit. |
| 158 | + |
| 159 | +### 🌕 HOW IT STARTED — The Moment Everything Shifted |
| 160 | +**Junior:** "Let me try something small… maybe Clipboard?" |
| 161 | +**Senior:** "Do it native. No overhead. No framework weight." |
| 162 | +**Designer:** "If this is faster, it proves something bigger." |
| 163 | +FastClipboard appears. Twice as fast. Zero bugs. |
| 164 | +The mental state moves: experiment → proof → vision. |
| 165 | + |
| 166 | +### 🌖 BECAUSE — The Realization That Changed Everything |
| 167 | +**Junior:** "Why does everything feel heavy?" |
| 168 | +**Senior:** "Because Java isn't slow — only the layers above it are." |
| 169 | +**Designer:** "The language isn't the problem. The design of the tools is." |
| 170 | +The shift continues: frustration → analysis → realization. |
| 171 | +Java's "write once, run anywhere" became "write once, run slow everywhere." Native code isn't the enemy — unnecessary abstraction is. |
| 172 | + |
| 173 | +### 🌑 THEREFORE — The Reason FastJava Exists |
| 174 | +**Junior:** "Can't we just make this better?" |
| 175 | +**Senior:** "Yes. Minimal overhead. Native where it matters. Java where it makes sense." |
| 176 | +**Designer:** "This isn't a framework. It's a counter-design." |
| 177 | +The state settles: desire → decision → identity. |
| 178 | +Maximum performance through minimal overhead. JNI where it matters. Pure Java where it doesn't. |
| 179 | + |
| 180 | +--- |
| 181 | + |
| 182 | +## ⚡ The Truth About Speed |
| 183 | + |
| 184 | +I run the benchmarks myself. I don't negotiate with numbers. I don't sweet-talk performance. I don't pretend something is fast because I want it to be. Speed doesn't care about opinions — only measurements. I can't lie to myself, because the CPU won't lie back. Faster is faster. Slower is slower. Reality is binary at that level. |
| 185 | + |
| 186 | +This isn't about money. |
| 187 | +This isn't about hype. |
| 188 | +This isn't about selling anything. |
| 189 | + |
| 190 | +This is about quality — the kind you can't fake, can't market, can't decorate. |
| 191 | +The kind you can only prove. |
| 192 | + |
| 193 | +FastJava exists because truth shows up in microseconds, not in slogans. |
| 194 | + |
| 195 | +--- |
| 196 | + |
| 197 | +## 🚧 Current Status |
| 198 | + |
| 199 | +**[ALPHA]** — APIs may change. Not production-ready yet. |
| 200 | + |
| 201 | +- ✅ **29 Released** — Available now on GitHub & JitPack |
| 202 | +- 🚧 **14 Coming Soon** — Audio, Vision, AI, Advanced System (2026-2027) |
| 203 | +- 🔄 **37 Planned** — Full 78-module pipeline |
| 204 | +- ✅ Windows fully supported — Linux/macOS in progress |
| 205 | + |
| 206 | +--- |
| 207 | + |
| 208 | +--- |
| 209 | + |
| 210 | +**Keywords:** fast java, java native performance, java jni performance, fastest java libraries, java native acceleration, java windows api, java gpu acceleration, java simd acceleration, java optimization, high performance java |
0 commit comments