mrkeyoor.com_
Sat 03 Oct 07:16 UTC
AI Toolsevaluationupdated 03 Oct 2026

gpu-time review

gpu-time is a local neural parser that turns short English or Spanish time phrases into dates, ranges, and recurrence rules. It runs in JavaScript on CPU or WebGPU, so reminder fields and command bars can interpret a schedule without sending the text to a server.

Verdict

Our gpu-time run passed 1,031 of 1,036 tests, with 1 failure and 4 expected failures, so the parser is promising but misses a clean release gate at commit 4188e4e. Try it for low-risk English or Spanish scheduling where local execution and recurrence output matter. Keep it away from consequential appointments, and regression-test the exact phrases your users type.

We ran it

Lab card: what happened when we ran gpu-timeScreenshot of gpu-time (gpu-time.arikko.dev)
Install✓ · 23s416 packages · 352 MB
Buildn/ano build script
Tests✗ · 18sran, no count parsed
Repo387 files~56,530 lines of source · 106.4 MB · 1 CI workflows

Answers from our run

Does gpu-time build from source?

Dependencies installed in 23 seconds (416 packages), and the project has no separate build step. We cloned commit 4188e4e into a clean Debian container with 3 CPUs and no project-specific setup.

Do gpu-time's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use gpu-time?

Legal, medical, billing, or compliance scheduling: the model card says a wrong date can have real consequences and excludes these uses.

What are the alternatives to gpu-time?

Chrono, Microsoft Recognizers-Text, Duckling. Our gpu-time run passed 1,031 of 1,036 tests, with 1 failure and 4 expected failures, so the parser is promising but misses a clean release gate at commit 4188e4e.

Setup4/523-second install, though the root build target is absent
Docs5/5Clear contract, model card, provenance, limits, and backend behavior
Community2/5209 stars with no open issues or pull requests
Maturity2/5Version 0.5.0, no tagged release, and one failing test

Who it’s for

Web developers building reminder fields, scheduling forms, or command bars.
Teams that need local parsing, timezone-aware occurrences, and RFC 5545 recurrence output.
Browser apps with large batches that can benefit from an optional WebGPU path.
Engineers willing to test their own phrasing and keep a conventional parser as a reference.

Who it’s NOT for

Legal, medical, billing, or compliance scheduling: the model card says a wrong date can have real consequences and excludes these uses.
Document extraction or long prose: the intended input is a short time expression.
Products needing languages beyond English and Spanish: there is no language detection, and unsupported languages may return a wrong result without a diagnostic.
Callers that require a public syntax tree or token labels: neither is exposed by the package.
Release pipelines that require a green clean-clone suite: our run had 1 failed test among 1,036, and the repository has no tagged release.

Setup reality

Our sandbox installed commit 4188e4e in 23 seconds, adding 416 packages and using 352 MB. The harness skipped the build because the monorepo has no root build script. Tests failed after 18 seconds: 1,031 passed, 1 failed, and 4 were expected failures across 1,036 tests.

Using the published parser needs Node.js and a caller-supplied reference instant, timezone, and occurrence limit. Development asks for Node.js 24 or newer, pnpm 11, uv, Python 3.13, and Chrome with WebGPU. Training also needs a local starting checkpoint because Git excludes .pt files.

Automatic backend selection keeps small batches on CPU and tries WebGPU at 32 inputs or 512 tokens. Explicit WebGPU mode has no CPU fallback, so an unavailable device or mid-session device loss becomes the caller's problem.

Local parsing is the reason to choose gpu-time

gpu-time reads phrases such as a weekday range or recurring hour and returns concrete occurrences, RFC 5545 rules, diagnostics, and source spans. The text stays on the device. You supply the reference instant, IANA timezone, and preview limit, which avoids the common mistake of letting a parser guess what "next Friday" is relative to. The package supports English and Spanish through separate model packs.

The useful distinction is recurrence. Chrono and many form parsers can find a date, while gpu-time also compiles repeating expressions and exclusions into schedule data. Its 38,745-parameter model labels tokens, then ordinary TypeScript resolves calendar arithmetic and daylight-saving transitions. That split keeps timezone math out of the learned layer. It also means model output can still be wrong before the deterministic resolver sees it.

A 23-second install gets you the runtime and the research workspace

Our checkout contained 387 files, about 56,530 lines of source, and occupied 106.4 MB. pnpm install finished in 23 seconds, added 416 packages, and brought disk use to 352 MB. This is a monorepo with the published core package, Python training code, benchmarks, a website, and video source. An application consuming the package does not need to operate every workspace.

The documented development stack is current and specific: Node.js 24 or newer, pnpm 11, uv, Python 3.13, and Chrome with WebGPU. Training data, downloaded corpora, checkpoints, and local environments are intentionally ignored by Git. The shipped runtime weights are present, but reproducing training requires a local .pt starting checkpoint that a clean clone cannot supply. That boundary is stated plainly in the model card.

What happened when we ran it

Our unprivileged sandbox installed commit 4188e4e with 3 CPUs, 8 GB of RAM, Node.js 22, and no secrets. Installation succeeded in 23 seconds. The lab harness found no root build script, so it skipped the build step. The README instead tells contributors to run pnpm build:core, a named workspace command that our standard build probe did not execute.

The test command ran for 18 seconds and exited with code 1. Vitest reported 18 passing files and 1 failing file. Across 1,036 tests, 1,031 passed, 1 failed, and 4 were marked as expected failures. The log summary names test/model-parity.test.ts as the failing file but does not include the failed assertion, so claiming a CPU, WebGPU, or weight mismatch would go beyond the evidence.

One failure among 1,036 tests is close to green and still red. Model parity is also an especially relevant test area for software whose CPU and WebGPU paths should agree. Before adopting version 0.5.0, rerun the suite on the supported Node.js 24 toolchain and inspect the complete assertion. Our measurement establishes the failure; it does not diagnose it.

WebGPU starts at 32 inputs or 512 tokens

With backend: "auto", small jobs stay on CPU. gpu-time tries WebGPU once a batch reaches 32 inputs or 512 tokens, where parallel dispatch has a better chance of paying for device overhead. The reusable parser keeps its device, pipelines, weights, and buffers alive between calls. That makes more sense for an open scheduling screen than constructing a parser for each keystroke.

Explicit webgpu mode disables CPU fallback. A browser without WebGPU, a rejected adapter, or device loss must be handled by your code. The model card also warns that small inputs are slower on WebGPU because startup and readback have fixed costs. Pick the backend intentionally, surface diagnostics, and record the returned backend during testing so a silent environment change does not alter behavior unnoticed.

Wrong dates remain possible even when parsing succeeds

The model card is unusually candid about failure modes. A person's name that matches a weekday can become a date. Some four-digit clocks can become years, unsupported languages can produce incorrect output without a diagnostic, and complex recurring exceptions may preview correctly while refusing RFC 5545 export. Vague phrases such as "after work" intentionally receive no clock value.

Those limits rule out medical visits, legal deadlines, billing events, and compliance schedules without human confirmation. For a task list or casual reminder, a visible preview and edit step can make the risk reasonable. Keep the original text beside the parsed result, require confirmation for recurrence, and build a fixture set from real user wording. The package's spans make correction easier because the UI can show exactly which characters produced each answer.

No tagged release makes commit pinning necessary

The repository was pushed on September 27, 2026, and GitHub listed 209 stars with 0 open issues or pull requests. There is no latest tagged release even though the core package declares version 0.5.0. Current source activity is a better health signal than the missing tag alone, but consumers still need to pin the npm version and preserve their own acceptance corpus.

gpu-time is a thoughtful experiment with better documentation than many mature parsers. Our 1 failed test prevents an unconditional recommendation, and the model's own limits keep it in low-risk workflows. If local input handling, recurrence rules, and browser execution solve a real product problem, the 352 MB development install is worth a trial. If predictable rules or broader language coverage matter more, start with Chrono, Recognizers-Text, or Duckling.

Alternatives

ProjectWhat it isPick it when
ChronoA JavaScript date parser built around rules and refiners rather than a shipped neural model.pick this instead when you want an established rule-based parser and do not need gpu-time's recurrence model.
Microsoft Recognizers-TextA multilingual set of recognizers for dates, times, numbers, units, and related entities.pick this instead when language coverage and entity types matter more than a compact browser package.
DucklingA rule-based engine for extracting structured values such as times, quantities, and durations.pick this instead when you can run a separate service and want explicit rules across several entity types.

What people are saying

  1. [velocity-scout] arikchakma/gpu-time

Sources

  1. gpu-time repository
  2. gpu-time README
  3. gpu-time model card
  4. gpu-time architecture

More ai tools reviews

GPT-as-Policy · NeuralScreen · mural · recurrent-looped-tranformer · OpenWAM · xialingguo-ip · the whole board →