Repository navigation
Conversation
enaboapps
marked this pull request as ready for review
October 3, 2026 17:34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Result
FUTO's native decoder reached 12.83 ms p95 and 16.77 ms maximum with four threads on Windows, with exactly the same ordered suggestions as its one-thread run. Its three-result correction behavior is not yet a suitable direct replacement: one-letter top-three accuracy was 12.50%, and 789 suggestions across the run needed exact-prefix filtering. There were 1,279 supported inferences, one explicitly unsupported prefix and no decode failures per run.
Host-optimized Q8 reduced SmolLM2 cache-miss p95 from F32's 226.72 ms to 101.78 ms, retaining 37.50% early top-five accuracy on these synthetic fixtures. Batching improved cache-hit latency but made Q8 context preparation slower. No neural variant met 20 ms. Do not promote any model from this experiment.
Change
Adds context reuse, candidate batching, locally converted Q8 weights, explicit host-native build comparisons and an isolated FUTO native probe. Every completed neural mode measured 1,280 misses and 1,280 cache hits, with ordered-result equality checked for each pair. Cache-hit probes are immediate repeats, not a realistic typing trace. A failed initial portable Q8 batch attempt and missing supplementary memory metadata are documented rather than hidden.
This branch starts from current main and includes the unmerged experiment from #14 as a prerequisite. Production dependencies, prediction APIs, model files and Switchify PC remain unchanged. No model weights or third-party decoder sources are redistributed. macOS runtime performance and Android output equivalence remain untested.
Validation
See docs/neural-latency-results.md and docs/neural-latency-results.json for measurements and limitations. Reproduction commands are in docs/neural-latency-protocol.md and docs/futo-probe-protocol.md.
Closes #15.