Wir sind gerade gestartet. Website und Service werden noch verfeinert – wir bitten schon jetzt um Entschuldigung für mögliche Ungenauigkeiten und Unebenheiten. Ist Ihnen ein Fehler aufgefallen oder funktioniert etwas nicht wie erwartet? Schreiben Sie uns – wir beheben es schnell.

DE
Anmelden Kostenlose Einschätzung
Backtests · Modelltraining · Parametersuchen

Schnellere wiederholte Berechnungen, dasselbe Ergebnis

Senden Sie den Rechenkern eines Backtests, Simulators oder Modells. Rust-Crates nutzen unser Self-Service-Dashboard; C, C++ und Python beginnen mit einer individuellen technischen Einschätzung. Veröffentlichte Builds können Sie selbst prüfen. Gewinn und Abnahmekriterien werden für Ihre Aufgabe und Plattform vereinbart.

1 Std. → 11 Min.Indikator-Parametersuche bei den gemessenen 5,7×, Stufe 2 gegenüber der kostenlosen Stufe 0
1 Std. → 4 Min.Trainingsläufe eines spikenden Netzes bei den gemessenen 14,2×, Stufe 2 gegenüber der kostenlosen Stufe 0
0 BitAbweichung vom Originalcode
So funktioniert es erste Einschätzung kostenlos
  1. Heißen Code schicken

    Nur den Rechenkern, ohne Geschäftslogik. Noch keinen Code teilen? Beginnen Sie mit einem Messpaket aus unserem kostenlosen Harness.

  2. Prüfung vereinbaren

    Für Rust messen wir Build-Tuning und automatische Optimierung vor dem Kauf. Individuelle Arbeiten auf Stufe 2 erhalten einen vereinbarten Umfang, ein messbares Minimum und ein Abnahmeverfahren.

  3. Bezahlte Arbeit wählen

    Stufe 1 wird unter 10 % gemessener Beschleunigung nicht berechnet. Preis, mögliche Vorauszahlung und Abnahme für Stufe 2 stehen in einem separaten Auftrag. Die Ausgabe wird auf der vereinbarten Plattform auf Äquivalenz geprüft.

Gemessene Fälle zum Herunterladen und Ausführen finden Sie direkt darunter ↓
Bereits gemessen

Standard-Benchmarks, Ausgabe bis aufs Bit identisch mit dem Original

Öffentlicher Code und verbreitete Datensätze: das Kompressionskorpus Silesia, Videoclips von Xiph, die ETT-Datensätze zur Zeitreihenprognose, Indikatoren der technischen Analyse. Jede Messung ist ein realer sequenzieller Lauf über den gesamten Datensatz gegen das unveränderte Original, und alle Ausgaben werden Byte für Byte verglichen. Die Korrektheitsbeweise für die Codecs haben eine unabhängige Prüfung bestanden.

Alle drei Stufen · Binärdateien veröffentlicht

Indikatoren ADX, ATR und PSAR aus Python ta

Ein Rust-Port der Bibliothek ta 0.11, der Bit für Bit mit Python übereinstimmt. Ein Parameter-Sweep über eine Million Bars: ATR, ADX und ±DI für fünf Fenster sowie Parabolic SAR in vier Konfigurationen. Jede Stufe wurde gebaut, auf dem Messstand gemessen und veröffentlicht; die Ausgabe aller Stufen ist bis aufs Byte identisch, auch bei Eingaben, bei denen das Programm mit einer Panic abbricht.

5,7×Stufe 2 gegenüber der kostenlosen Stufe 0, Laufzeit des ganzen Laufs
18×gegenüber Numba bei der Berechnung
< 48 Std.Ingenieursarbeit für Stufe 2

Derselbe Algorithmus in Numba (ebenfalls Bit für Bit): 335 ms Berechnung und 201 ms pandas.read_csv. Stufe 2: 18 ms Berechnung und 20 ms CSV-Parsing, 81 ms für das gesamte Programm. Python ta: 20,5 s pro 100 Tsd. Bars.

Basis, Takte pro Lauf (M1, Median) 1.376,9 Mio. 503 ms
Stufe 0LTO, codegen-units, target-cpu · kostenlos 1.248,6 Mio.463 ms · Referenz
Stufe 1automatische, nachweislich korrekte Optimierung 791,4 Mio.342 ms · 1,58× Takte · 1,35× Zeit
Stufe 2ein Ingenieur: ein neues Rechenschema 143,3 Mio.81 ms · 8,7× Takte · 5,7× Zeit
Gemessen auf dem Prüfstand: Zen 3, vPMU-Takte, 9 verschachtelte Runden; die Zeit umfasst das ganze Programm einschließlich des Einlesens der Daten. Stufen 1 und 2 werden mit der kostenlosen Stufe 0 verglichen. Gemessen wurden genau die veröffentlichten Dateien. In diesem Fall bringt die automatische Optimierung allein 1,58× bei den Takten; der größte Gewinn kommt aus Stufe 2.
Download · MIT · Linux x86-64 Gesamtpaket1 MB: Programme aller Stufen, Quellcode der Basis, Datengenerator, Messungen Basis Stufe 0 Stufe 1 Stufe 2 Prüfanleitung SHA256SUMS
Alle drei Stufen · Binärdateien veröffentlicht

Trainingssuche eines spikenden neuronalen Netzes (ein BindsNET-Modell)

Ein Reservoir aus 128 Leaky-Integrate-and-Fire-Neuronen mit rekurrenten Verbindungen; die Eingangsgewichte werden online per STDP (BindsNET PostPre) trainiert. Die Suche trainiert 24 Netze über Schwelle, Membranzeitkonstante und Lernrate auf einem synthetischen, marktähnlichen Strom von 5.000 Schritten. Das Rust-Programm gibt bitgenau dasselbe aus wie das BindsNET-Skript – auf der Haupteingabe und auf 54 generierten Datensätzen.

15,8×Stufe 2 gegenüber der kostenlosen Stufe 0, Takte (14,2× Zeit)
395×gegenüber derselben Suche in BindsNET, ein Kern
0 BitAbweichung von BindsNET

BindsNET 0.3.3 auf PyTorch (CPU, ein Thread, derselbe Kern): 24,0 s für die Suche, überwiegend Python- und Dispatch-Aufwand pro Schritt. Stufe 2: 60,9 ms auf diesem Kern. Reines Build-Tuning ist hier 6 % langsamer als der normale Build; die automatische Optimierung bringt 3,89× gegenüber Stufe 0 bei den Takten, Stufe 2 bringt 15,8×.

Basis, Takte pro Lauf (M1, Median) 3.525,0 Mio. 805 ms
Stufe 0LTO, codegen-units, target-cpu · kostenlos 3.742,6 Mio.865 ms · Referenz
Stufe 1automatische, nachweislich korrekte Optimierung 962,4 Mio.222 ms · 3,89× Takte · 3,90× Zeit
Stufe 2ein Ingenieur: ein neues Rechenschema 237,0 Mio.60,7 ms · 15,8× Takte · 14,2× Zeit
Gemessen auf dem Prüfstand: Zen 3, vPMU-Takte in einer isolierten VM, 9 verschachtelte Runden; der CCX war für die Messung reserviert (2 seiner 16 logischen CPUs lagen außerhalb unserer Kontrolle). Stufen 1 und 2 werden mit der kostenlosen Stufe 0 verglichen. Gemessen wurden genau die veröffentlichten Dateien.
Download · MIT · Linux x86-64 Gesamtpaket0,8 MB: Programme aller Stufen, Quellcode der Basisversion, BindsNET-Skript, Datengenerator, Messungen Basis Stufe 0 Stufe 1 Stufe 2 Prüfanleitung SHA256SUMS
16–20×gegenüber einer kompetenten nativen Portierung
≈12.000×gegenüber dem Optimierer von vn.py selbst
Strategieoptimierung · vn.py · Binärdateien veröffentlicht

Parameteroptimierung in vn.py: dieselben Top 10, eine Größenordnung schneller

Der Brute-Force-Optimierer von vn.py über 600 Parametersätze seiner mitgelieferten Strategie mit gleitenden Durchschnitten. Unser Programm gibt dieselben zehn besten Sätze mit denselben Sharpe-Ratios, Renditen, Drawdowns und Trade-Anzahlen aus, bitgenau auf AVX2-Rechnern. Es ist 16–20× schneller als eine kompetente native Portierung, die jeden gleitenden Durchschnitt nur einmal berechnet, und etwa 12.000× schneller als vn.py selbst; das meiste davon bringt der Abschied von Python. Gemessen auf AMD Zen 3 und Zen 4.

Download · MIT · Linux x86-64 Gesamtpaket60 KB: unser Programm, beide nativen Portierungen, der vn.py-Treiber, Datengenerator, Messungen auf zwei Plattformen was gemessen wurde
2,3–7,4×sieben Indikatoren, C
2,0–6,0×aus Python, unverändert
C-Bibliothek · direkter Ersatz · Binärdateien veröffentlicht

TA-Lib-Indikatoren: eine schnellere Ersatzbibliothek

Ein Ersatz für die C-Bibliothek TA-Lib 0.8.1 mit derselben ABI: C-Programme und der Python-Wrapper von TA-Lib nutzen sie unverändert, und jede Ausgabe stimmt bitgenau mit der offiziellen Bibliothek überein (4,59 Millionen Aufrufe geprüft). Bei einem Parameter-Sweep über eine Million Bars sind sieben Indikatoren (CCI, SAR, DX, ADX, EMA, STOCH, RSI) 2,3–7,4× schneller als der schnellere aus offiziellem und -march=native-Build, gemessen auf AMD Zen 3 und Zen 4. Über den unveränderten Python-Wrapper ist derselbe Sweep 2,0–6,0× schneller.

Download · BSD-3 · Linux x86-64 Gesamtpaket3,2 MB: die Bibliothek, Benchmark-Treiber, das Prüfwerkzeug für Bitgleichheit, Messungen auf zwei Plattformen was gemessen wurde
5,6–5,9×gegenüber dem ursprünglichen Rust-Code
2,3–3,6×gegenüber PyTorch + Inductor auf allen Kernen

Zeitreihenprognose in Rust

DLinear mit den offiziell trainierten Gewichten auf den vier ETT-Datensätzen, alle Fenster des Test-Splits, gegenüber der ursprünglichen Rust-Implementierung. Auf allen Kernen 2,3- bis 3,6-mal schneller als PyTorch mit dem Compiler Inductor. PatchTST: 2,2–2,5×.

1,29–1,36×

rav1e 0.8: AV1-Kodierung

Fünf Xiph-Clips, vor der Messung zufällig ausgewählt: Elephants Dream, Park Joy, Johnny, Bus, Stefan. Der vollständige Kodierungszyklus mit speed 6 und speed 10. Jeder Clip wird schneller kodiert, und die Bitstreams stimmen Byte für Byte überein.

Download · BSD-2 · Linux x86-64 Gesamtpaket Basis TAKT Prüfanleitung SHA256SUMS
3,4×gegenüber dem ursprünglichen Rust-Code
4,0×gegenüber libbz2 in C

bzip2-Dekompression

Das in reinem Rust geschriebene Crate bzip2-rs, alle 12 Dateien des Silesia-Korpus, 212 MB. Jede Datei wird 2,8- bis 4,2-mal schneller entpackt. Bei 400.000 Test-Streams, davon 360.000 beschädigt, stimmen sowohl die Daten als auch die Fehlermeldungen überein.

Download · MIT · Linux x86-64 Gesamtpaket Basis TAKT Prüfanleitung SHA256SUMS

Messstand: AMD Threadripper PRO 5975WX (Zen 3, AVX2). Verhältnis der Mediane realer Läufe über den gesamten Datensatz: sieben Runden bei den Codecs, fünf Wiederholungen bei den Modellen. Im Single-Thread-Betrieb ist PyTorch bei diesen Modellen noch schneller: Es ändert die Reihenfolge der Additionen, während wir die Ausgabe Bit für Bit identisch mit dem Originalcode halten. Das sind Ergebnisse für konkreten Code, kein Versprechen für Ihren: Für Ihr Crate nennen wir Zahlen erst nach der Messung.

Preise

Bezahlen Sie für eine Beschleunigung, die Sie bereits gesehen haben

Der Preis für Stufe 1 hängt vom Umfang des heißen Codes und von der erreichten Beschleunigung ab. Sie sehen das Ergebnis vor der Zahlung und bezahlen nur für das, was Sie bekommen.

Stufe 0
$0
  • Build-Profile: LTO, codegen-units, target-cpu, PGO
  • Ein Flag-Rezept, das Sie selbst anwenden
  • Heißer Code bis 2 Tsd. Zeilen
  • In wenigen Minuten fertig

Die Zahl wird auf dem Messstand gemessen, nicht prognostiziert.

Stufe 2 · Ingenieur
nach Angebot 30 % im Voraus
  • Vor allem ein Wechsel des Rechenparadigmas, danach Datenlayout, SIMD und alles Weitere
  • Einige Stunden bis einige Tage
  • Der Rest nach Abnahme anhand der Metriken

Garantiertes Minimum nicht erreicht: Wir schreiben den Betrag gemäß der Tabelle im Vertrag Ihrem Guthaben gut.

Preise für Stufe 1

Beschleunigung gegenüber Stufe 0bis 1 Tsd. Zeilen1–3 Tsd. Zeilen3–10 Tsd. Zeilenüber 10 Tsd. Zeilen
10–25 %$290$490$890auf Anfrage
25–100 %$790$1.190$2.390auf Anfrage
100–200 %$1.190$1.790$3.590auf Anfrage
über 200 %$1.990$2.990$5.990auf Anfrage

Beschleunigung ist der Faktor, um den der neue Build schneller ist als Stufe 0, minus eins: 100 % bedeutet doppelt so schnell, 200 % dreimal so schnell; in Takten entspricht das −20 % bei 25 %, −50 % bei 100 % und −67 % bei 200 %. Die kostenlose Stufe 0 gilt für heißen Code bis 2 Tsd. Zeilen; darüber ist sie in Stufe 1 enthalten. Jede weitere Plattform: +30 %. Zeilen werden mit llvm-cov gezählt: nur Code, den der Benchmark des Messpasses ausführt (Details in der Frage „Wie werden Zeilen gezählt?“).

Was Sie sparen

Geben Sie ein, wie lange ein Lauf heute dauert und wie oft Sie ihn starten. Die Beschleunigung entnehmen Sie Ihrer kostenlosen Einschätzung; 5,7× ist der gemessene ta-Fall.

Gesparte Wartezeit pro Monat—
Gesparte Rechenkosten pro Monat—

Einfache Arithmetik mit Ihren Eingaben: gesparte Zeit = Läufe × Dauer × (1 − 1/Beschleunigung). Die Beschleunigung für Ihren Code wird gemessen, bevor Sie zahlen.

CI-Abonnement: Die Beschleunigung bleibt über neue Releases hinweg erhalten

TarifPro Monat, bei jährlicher AbrechnungLeistungsumfang
Crate$149Heißer Code bis 2 Tsd. Zeilen, bis zu 4 Releases pro Monat, eine Plattform
Team$399Bis 10 Tsd. Zeilen, bis zu 20 Releases pro Monat, zwei Plattformen
Enterpriseab $1.500Mehrere Crates, SLA, Abnahme auf Ihrer Hardware

Das Abonnement läuft ein Jahr; die Jahresgebühr ($1.788, $4.788 oder ab $18.000) wird zu Beginn von Ihrem Guthaben abgebucht. Jedes neue Release wird erneut optimiert und auf Äquivalenz geprüft. Lässt sich ein Release nicht auf das vertragliche Niveau bringen, erhalten Sie den Anteil des Monats, der auf solche Releases entfällt, nach Ihrer Wahl: diesen Anteil der Monatsgebühr als Guthaben oder eine Verlängerung des Abonnements um diesen Anteil des Monats. Scheitert eines von vier Releases in einem Monat, erhalten Sie ein Viertel der Monatsgebühr oder einen Viertelmonat.

Alle Zahlungen laufen über das Guthaben im Kundenbereich. Sie laden es per Karte über Stripe (Karten, Apple Pay, Google Pay und lokale Zahlungsarten), per Banküberweisung oder mit einem Aktionscode auf; jede Leistung wird bei der Bestellung abgebucht. Nicht verbrauchtes eingezahltes Guthaben zahlen wir auf Anfrage aus; Bonusguthaben aus Aktionscodes und Boni wird für Leistungen verwendet.

Für wen

Wo die Beschleunigung am größten ist

Heute arbeiten wir auf x86-64 (AMD Zen 3, AVX2). Am meisten gewinnen dichte iterative Berechnungen mit Rückkopplung, bei denen jeder Schritt vom vorherigen abhängt: rekursive Indikatoren, Strategiesimulation entlang einer Historie, das Training spikender und anderer rekurrenter Modelle und Suchen über viele Parametersätze. Auch Code, der lange auf den Speicher wartet oder Daten Bit für Bit parst, gewinnt viel.

Backtesting und Strategiesimulation

Trading-Engines, Replay von Marktdaten, Parametersuche und -evolution. Ein vertraulicher Kundenfall: 2,5–10,5× automatisch, bis 33,7× mit einem Ingenieur. Ein öffentlicher Fall: die ta-Indikatoren, 5,7× Laufzeit des ganzen Laufs gegenüber der kostenlosen Stufe 0.

Modelltraining und Parametersuche

Modelle mit starker Rückkopplung, etwa spikende Netze (im Stil von BindsNET) und andere rekurrente Modelle, beim Training und bei der Suche über viele Parametersätze. In Stufe 2 portieren wir ein Python-Modell bitgenau nach Rust. Öffentlicher Fall: eine STDP-Trainingssuche eines BindsNET-Modells, 15,8× gegenüber der kostenlosen Stufe 0 und 395× gegenüber BindsNET selbst, bei identischer Ausgabe.

Archive und Datenpipelines

Entpacken von Archiven, Dumps von Wikipedia und OpenStreetMap, wissenschaftliche und Genomdaten, Log-Speicher. bzip2: 3,4× gegenüber dem ursprünglichen Rust-Code und 4,0× gegenüber C.

Video und AV1

Videoplattformen und Cloud-Transcoding mit rav1e. 1,29–1,36× bei der vollständigen Kodierung: In einem Cluster entspricht das etwa einem Viertel der Server.

ML-Inferenz auf der CPU

Zeitreihenmodelle in Rust ohne Python: Last-, Nachfrage- und Energieprognosen. 5,6–5,9× gegenüber dem ursprünglichen Rust-Code, auf allen Kernen schneller als PyTorch.

CodeklasseGemessene BeschleunigungWo gemessen
Zustandsbehaftete Simulationen, Suche nach Kandidaten entlang einer Historie2,5–34×Trading-Engine
Spikende Netze: STDP-Training, Parametersuchen3,9–15,8×BindsNET: LIF + STDP
Indikatoren der technischen Analyse, Parameter-Sweeps1,6–8,7×ta: ADX, ATR, PSAR
Strategie-Optimierer: Rastersuche über Parameter16–20×vn.py: DoubleMaStrategy
Indikatorbibliotheken in C, aufgerufen aus C oder Python2,0–7,4×TA-Lib 0.8.1
Decoder mit Tabellendurchläufen und Parsing auf Bitebene2,5–4×bzip2, Silesia
Inferenz kleiner Modelle auf allen Kernen2,2–5,9×DLinear, PatchTST, ETT
Encoder mit Modussuche1,3–1,4×rav1e, Xiph
Kryptoprimitive, Codecs mit handgeschriebenem SIMD, Formate mit starker C-BibliothekkeineSHA-256, ChaCha20, x264, LZ4

Für ta und das spikende Netz: gegenüber der kostenlosen Stufe 0, in Takten. Übrige Zeilen: gegenüber dem Originalprogramm oder, wo der Fall es angibt, der C-Referenzbibliothek.

Funktionsweise

Von der ersten Messung zum signierten Build

Selbst messen

Das kostenlose Harness erfasst Takte, Instruktionen, Cache-Fehlzugriffe, falsche Sprungvorhersagen und die Laufzeit. Sie können uns das Messpaket ohne Quellcode senden, und wir nennen Ihnen eine vorläufige Spanne.

Heißen Code senden

Für eine echte Messung statt einer Schätzung ist der Quellcode nötig. Wir helfen Ihnen, nur den Rechenkern ohne Geschäftslogik herauszulösen, und messen dafür die Basis auf dem Referenzstand.

Messpass festlegen

Plattform, Workload, Tool-Versionen und Protokoll werden vor Arbeitsbeginn festgehalten. Das Ergebnis wird relativ zu diesen Zahlen berechnet.

Drei Zahlen sehen

Stufe 0 und Stufe 1 werden vorab auf dem Messstand gemessen. Für Stufe 2 erhalten Sie eine Spanne, einen Zeitrahmen und ein garantiertes Minimum.

Build erhalten

Nach der Zahlung: eine signierte Bibliothek, ein Header, eine SBOM sowie ein Bericht über die Messungen und die Äquivalenzprüfung.

Für Ingenieure

Die Nachweise

Was wir unterschreiben, wie wir messen und was Sie selbst prüfen können: der Messpass, das offene Harness, die Isolierung Ihres Codes und ein Vergleich mit den üblichen Optionen.

Garantie

Wir versprechen konkrete Zahlen auf konkreter Hardware

Vor Arbeitsbeginn legen wir den Messpass fest: CPU-Modell und Taktfrequenz, die Workload mit Hashes der Eingabedaten, die Versionen von rustc und den Tools, das Messprotokoll. Der Vertrag bezieht sich ausschließlich auf diese Metriken.

M1Takte auf einer realen CPUDer PMU-Zähler auf dem Referenzstand bei fester Taktfrequenz, Basis und neue Version abwechselnd gemessen. Darauf bezieht sich die Zusage.
M2Deterministische Takte und InstruktionenSimulation mit fest vorgegebener Version. Bei uns und bei Ihnen dieselbe Zahl, für Gegenprüfungen und CI.
M3Zeit p50 / p99Bei latenzkritischen Aufgaben kann die Zusage auf p99 gegeben werden.
M4Maximaler SpeicherbedarfNebenbedingung: höchstens um einen vereinbarten Prozentsatz schlechter als die Basis.
M5KorrektheitDifferenzielle Tests und Fuzzing, auch auf verdeckten Eingaben, die der Optimierer nie gesehen hat.
Formulierung im Vertrag

„Auf Plattform P sinkt der Median von M1 nach dem Protokoll des Messpasses um mindestens X % gegenüber der Basis, sofern M4 und M5 eingehalten werden.“

Warum Takte auf einer realen CPU. Ein Simulator liefert eine reproduzierbare Zahl, aber nicht immer die richtige: Er bildet weder die Absenkung der Taktfrequenz bei breitem SIMD noch den Prefetcher noch Multithreading ab. Deshalb gilt im Vertrag reale Hardware, und die Simulation dient der Gegenprüfung.

Verdeckte Eingaben. Ein Teil Ihrer Daten wird bis zur Abnahme zurückgehalten, damit die Beschleunigung nicht an den Benchmark angepasst werden kann. Sie senden uns diese Daten verschlüsselt und übergeben den Schlüssel, sobald die Binärdatei fertig ist.

Harness

Messen Sie selbst

Ein kostenloses Open-Source-Kommandozeilenwerkzeug (MIT) erfasst dieselbe Art von Messwerten wie unser Messstand: Takte und Instruktionen im Benutzermodus aus den Hardware-Zählern. Senden Sie uns die Messwerte ohne Code und nehmen Sie die Arbeit selbst ab.

run

Takte, Instruktionen, Cache-Fehlzugriffe und falsche Sprungvorhersagen, Laufzeit und Speicher. Median, Streuung, 95-%-Konfidenzintervall und eine Qualitätsbewertung.

:::

Mehrere Builds in abwechselnden Runden, damit Schwankungen von Temperatur und Last alle gleich treffen.

compare

Vorher und nachher: der Beschleunigungsfaktor mit seinem Intervall gemäß der Definition in unseren AGB und eine Prüfung, ob die Ausgaben übereinstimmen. Der Exit-Code kann einen CI-Job anhalten.

show

Prüfen Sie das Paket vor dem Senden: kein Code, keine Ausgabe, keine Dateiinhalte, nur Hashes und Angaben zur Maschine. --redact hasht auch Pfade und Argumente.

$ TAKT_INPUTS=data taskset -c 44 takt-harness run --input data \
    -- bin/ta-bench-base ::: bin/ta-bench-level2
machine   AMD Ryzen Threadripper PRO 5975WX 32-Cores · x86-64-v3
checks    pinned to CPU 44 · governor performance · SMT on
protocol  9 rounds after 1 warm-up · CI: percentile bootstrap

metric          baseline       new   factor   95% CI of factor
cycles:u         1.370 G   141.3 M   9.695×   9.582 – 9.927
instructions:u   3.156 G   391.7 M   8.057×   8.057 – 8.057
wall time      484.7 ms  66.90 ms   7.245×   6.983 – 7.346
stdout    match · sha256 ada682c61e5e… · 973 B
quality   good · 9 runs, typical deviation 0.06% / 0.73% (MAD)

verdict   outputs identical · cycles:u speed-up factor 9.695×
bundle    readings.json  # kann ohne Quellcode gesendet werden

Gekürzte echte Ausgabe unseres Showcase ta-indicators (1 Million Bars): der Ausgangs-Build gegen den Build der Stufe 2. Das Messpaket enthält die Angaben zur Maschine, Hashes der Programme, der Eingaben und der Ausgabe sowie die Metriken mit ihrer Streuung und eine Qualitätsbewertung.

Quellcode und fertiges Linux-Binary: github.com/rdmitry0911/takt-harness (MIT).

Sicherheit

Ihr Code läuft ausschließlich in einer isolierten Umgebung ohne Netzwerk

Isolation

Jeder Build läuft in einer Einweg-microVM ohne Netzwerkzugang. Ein Benchmark-Knoten bedient jeweils nur einen Kunden.

Verschlüsselung und Löschung

Ein eigener Schlüssel pro Projekt. Nach 30 Tagen oder auf Knopfdruck wird der Schlüssel zusammen mit den Daten vernichtet.

Ihr Code bleibt Ihr Code

Code und Daten werden nicht an Dritte weitergegeben, nicht für Arbeiten für andere Kunden verwendet und fristgerecht gelöscht. Allgemeine mathematische Methoden, die wir bei der Beschleunigung Ihres Algorithmus entdecken, erweitern unsere Bibliothek – ohne Ihren Code, Ihre Daten oder Namen. Das sind Bestimmungen des Vertrags und des NDA, das vor dem Upload unterzeichnet wird.

Signiertes Paket

SHA-256 jeder Datei, signiert mit unserem veröffentlichten Schlüssel; die SBOM der Komponenten; der Messbericht und die Toolchain, mit der der Build erstellt wurde.

Nachprüfbar sauber

Der Build greift nicht auf das Netzwerk zu, startet keine anderen Programme und schreibt keine Dateien. Ein Skript im Paket zeigt das mit Ihren eigenen Eingaben: ganz ohne Netzwerk, dazu strace.

Nur das heiße Modul

Sie können ausschließlich den Rechenkern ohne Geschäftslogik senden. Die Dokumentation beschreibt, wie Sie ihn herauslösen.

Sie erhalten eine optimierte Binärdatei und Nachweise zu Messungen und Äquivalenz; die Methode bleibt unser Know-how. Quellcode-Escrow ist auf schriftliche Anfrage vor Zahlung als auftragsspezifische Escrow-Box gemäß Escrow-Rider möglich. Plattform sowie Bereitstellung und Übergabe müssen qualifiziert und im Auftrag festgehalten werden. Shadow-Modus benötigt reproduzierbaren isolierten Zustand; eigene Sicherheitsprüfungen oder Prüfungen durch Auftragnehmer sind erlaubt.

Wie die Lieferung funktioniert und was Sie selbst prüfen können

Vergleich

Was uns von den üblichen Optionen unterscheidet

KI-Agent in EigenregieCI-Benchmarking-DiensteBeraterTAKT
Beschleunigt Codejanein, erkennt Regressionenjaja
Ergebnis vor der Zahlung bekanntnein—neinja, Stufen 0–1
Garantie im Vertragneinneinmeist nichtja, für M1
Schutz vor Anpassung an den Benchmarkliegt bei Ihnen—hängt von der Person abverdeckte Eingaben
Korrektheitsbeweis für jede Änderungnein, nur Ihre Tests—seltenja, mit unabhängiger Prüfung
Eigene OptimierungsmethodenAllgemeinwissen des Modells—Erfahrung einer einzelnen Personeine Bibliothek nachweislich korrekter Methoden, die mit jedem Projekt wächst
Ehrliche Absage, wenn es nichts zu beschleunigen gibtein Agent ändert immer etwas—nicht immerja, vor der Zahlung
ReferenzhardwareIhrejaIhreja
PreismodellTokenspro Nutzerpro Stundepro Ergebnis
FAQ

Häufige Fragen

Warum liefern Sie einen Build und nicht den Quellcode?

Die Optimierungsmethode ist unser Know-how. Deshalb liefern wir eine statische oder dynamische Bibliothek mit C-Header und einem schlanken Rust-Wrapper. Die Einbindung erfordert eine Zeile in Cargo.toml. Die Korrektheit wird durch Äquivalenztests belegt, die Herkunft durch Signatur und Provenance.

Was passiert, wenn ich meinen Code ändere?

Rust-Integration und Rückkehr zum Original werden für die Bibliothek vereinbart. Ändert sich der optimierte Kern, sind neue Version und Messung nötig; CI benötigt einen gesonderten angenommenen Auftrag. Quellcode-Escrow kann vor Zahlung über eine qualifizierte Escrow-Box gemäß Rider angefragt werden.

Muss ich Ihnen meine Strategie schicken?

Für eine vorläufige Spanne nicht: Das kostenlose Harness erzeugt ein Messpaket ohne Quellcode. Für den Build brauchen wir den Code, der in der heißen Schleife läuft, und nur ihn, meist den Simulator, die Indikatoren und den Portfoliozustand. Er fällt unter die NDA, wird nicht für Arbeiten für andere Kunden verwendet und fristgerecht gelöscht. Ein Teil Ihrer Daten kann bis zur Abnahme bei Ihnen bleiben: Verdeckte Eingaben werden verschlüsselt gesendet, den Schlüssel übergeben Sie, sobald der Build fertig ist.

Warum nicht einfach mehr Kerne?

Beides. Unabhängige Läufe einer Parametersuche verteilen sich gut auf Kerne, und unser Build macht jeden dieser Läufe auf jedem zusätzlichen Kern schneller. Mehr Kerne helfen nicht bei einer einzelnen Simulation entlang einer Historie, in der jeder Schritt vom vorigen abhängt, und genau diesen Code beschleunigen wir. Weniger Kernstunden für dieselbe Suche bedeuten außerdem eine kleinere Cloud-Rechnung.

Was, wenn die zugesagte Beschleunigung nicht eintritt?

Bei Stufe 1 bezahlen Sie ein bereits gemessenes Ergebnis, dieser Fall kann also nicht eintreten. Bei Stufe 2 nennen wir ein garantiertes Minimum; wird es nicht erreicht, schreiben wir den Betrag gemäß der Tabelle im Vertrag Ihrem Guthaben gut, und eingezahltes Guthaben zahlen wir auf Anfrage aus.

Wie werden Zeilen gezählt?

Wir bauen Ihren Code mit -C instrument-coverage im selben Profil und für dieselbe Plattform wie im Messpass und führen den Benchmark des Messpasses auf den offenen Eingaben aus. Gezählt werden die Rust-Zeilen, die laut llvm-cov mindestens einmal ausgeführt wurden. Nicht gezählt werden Leerzeilen und Kommentare, nie ausgeführter Code, Tests und Benchmark-Gerüst, Fremdabhängigkeiten außerhalb des Auftragsumfangs sowie Assembler; eine generische Funktion zählt einmal. Diese Zahl wird vor der Zahlung in den Messpass eingetragen. Daten zählen nicht, nur Ihr Code. Zur Orientierung: Beim Entpacken des Silesia-Korpus mit bzip2-rs werden 598 Zeilen seines Codes ausgeführt, beim Kodieren von fünf Xiph-Clips mit rav1e 12.809 von 55.419 Zeilen.

Welche Plattformen werden unterstützt?

Öffentliche Demos benötigen Linux x86-64 mit AVX2/FMA. TA-Lib und vn.py wurden auf AMD Zen 3 und Zen 4 gemessen. CPU-Funktionen, Betriebssystem, ABI und Abnahmehardware werden je Auftrag festgelegt; Intel, ARM und andere Umgebungen brauchen eine eigene Prüfung.

Welcher Code lässt sich schlecht beschleunigen?

Decoder für Formate, für die es bereits seit Langem optimierte C-Bibliotheken gibt (LZ4, zstd, deflate): Diese haben wir bisher nicht übertroffen. Ausgereifte Codecs mit handgeschriebenem SIMD und Assembler (x264, x265), kryptografische Primitive wie SHA-256 und ChaCha20, die Verarbeitung zufälliger, nicht komprimierbarer Daten sowie sehr kurze Aufrufe, bei denen die gesamte Zeit auf Overhead entfällt. In solchen Fällen zeigt die kostenlose Einschätzung ehrlich einen geringen Gewinn, und Sie müssen nichts bezahlen.

Meine Taktzahlen weichen von Ihren ab. Warum?

Takte hängen vom CPU-Modell, von Taktfrequenz, Turbo, Speicher und Eingabedaten ab. Vertragszahlen werden auf dem Messstand nach dem Messpass erhoben. Das Harness liest dieselben Zähler, daher sollten Ihre Zahlen bei gleichem CPU-Modell und gleichen Einstellungen nahe an unseren liegen. Die Zahl der Instruktionen hängt viel weniger von der Maschine ab: Vergleichen Sie zuerst sie.

Wie sieht es mit Gleitkommaarithmetik aus?

Standardmäßig stimmen die Ausgaben Bit für Bit überein, mit einer begrenzten Ausnahme für NaN-Payloads aus Gleitkommaarithmetik, wo Rust unterschiedliche Payloads zulässt. Ausdrücklich bewahrte NaN-Kodierungen und alle anderen Ausgaben bleiben exakt, sofern Sie im Messpass nichts anderes vereinbaren. Der Messpass kann auch exakte NaN-Payloads verlangen. Jede andere vereinbarte Abweichung wird im Messpass festgelegt und durch Tests geprüft.

Stürzt der Build auf einem alten Server ab?

Prüfen Sie die CPU-Anforderungen jedes Pakets. Öffentliche Binärdateien können AVX2/FMA benötigen und laufen dann nicht auf älteren CPUs. Funktionen und ein möglicher Fallback bezahlter Builds werden im Messpass vereinbart; nicht jede Binärdatei besitzt einen Fallback.

Senkt das die Latenz meines Live-Handels?

Nur wenn das Profiling zeigt, dass die Berechnung der Engpass ist. Für einen Live-Pfad messen wir den ganzen Weg vom Marktereignis bis zur Order, etwa sein p99 auf Ihrem Server, nicht eine einzelne Funktion: Oft entfällt der Großteil der Zeit auf Netzwerk und Börse. Unsere stärksten Ergebnisse sind Batch-Berechnungen: Backtests, Training und Parametersuchen.

Arbeiten Sie mit C, C++ und Python?

Ja, als individuelle Aufträge. Für C und C++ liefern wir eine direkt austauschbare Bibliothek mit derselben ABI, sodass Ihre Programme und Python-Code, der die Bibliothek aufruft, unverändert funktionieren (siehe den Fall TA-Lib). Für Python-Code liefern wir ein natives Programm oder Modul mit derselben Ausgabe (siehe den Fall vn.py). Das ist Ingenieursarbeit der Stufe 2 mit individuellem Preis; die Selbstbedienung im Dashboard nimmt derzeit Rust-Crates an.

Mehr als TAKT

Unsere weiteren Projekte

Systemsoftware vom selben Team: Entsperren eines verschlüsselten ZFS-Root beim Booten, In-place-Umbau von RAIDZ, eine Browser-Konsole für Proxmox VE und Thunderbolt-Hotplug in QEMU. Jede Karte öffnet eine kurze Beschreibung; der Code liegt auf GitHub. Dazu kommt die bedingte Hinterlegung von Geheimnissen in einer TPM-VM.

escrow-box

Ein Prototyp für die bedingte Hinterlegung von Geheimnissen in einer TPM-VM. Quellcode lässt sich vor der Freigabe durch Neubauen prüfen.

  • TPM 2.0
  • UKI
  • Clevis

zbm-openwrt-clevis

Eine gemessene Boot-Umgebung auf OpenWrt-Basis, die einen verschlüsselten ZFS-Root mit Clevis und dem TPM entsperrt und das System dann über ZFSBootMenu startet.

  • OpenWrt
  • ZFS
  • TPM 2.0
  • Clevis

zfs

Ein Fork von OpenZFS mit einem Prototyp für den In-place-Umbau von RAIDZ: Parität zwischen raidz1, raidz2 und raidz3 ändern, ohne den Pool zu exportieren.

  • OpenZFS
  • RAIDZ
  • C

qsm-rd

QSM Direct: eine grafische WebRTC-Konsole für virtuelle Maschinen und LXC-Container in Proxmox VE, hardwarekodiert, wo der Knoten einen Encoder hat.

  • Proxmox VE
  • WebRTC
  • LXC

qemu-thunderbolt

Eine PCIe-Hotplug-Schicht im Thunderbolt-Stil für QEMU: Geräte in Gästen wie macOS hinzufügen und entfernen, die sie nicht direkt per Hotplug einbinden können.

  • QEMU
  • Thunderbolt
  • PCIe
  • macOS
Loslegen

Eine Aufgabe einschätzen lassen

Rust-Crate? Dashboard jetzt öffnen. Für C, C++ oder Python beschreiben Sie unten einen langsamen Lauf mit Dauer, Häufigkeit und Plattform. Dafür sind weder Code noch eine Harness-Installation nötig.

In diesem Schritt ist kein Code nötig. Mit dem Absenden der Anfrage stimmen Sie der Verarbeitung Ihrer Kontaktdaten zu.