Дизайн-партнёрам: 50% первого заказа возвращается на баланс. 10 мест. Бесплатная проверка скорости

RU
Войти Бесплатная оценка
Бэктесты · обучение моделей · перебор параметров

Перебор стратегий в 16× быстрее. Те же числа, бит в бит.

Измерено на собственном оптимизаторе vn.py: те же десять лучших наборов параметров, в 16–20× быстрее грамотного нативного порта. Индикаторы TA-Lib: 2–7×, из C или Python. Опишите один ваш медленный прогон — мы измерим ваше ускорение до оплаты. Rust, C, C++ и Python.

2–7×индикаторы TA-Lib, прямая замена, из C или Python
16–20×оптимизатор стратегий vn.py, тот же топ-10
0 битрасхождений с исходным кодом
Как это работает бесплатно, пока вы не увидите число
  1. Расскажите, что тормозит

    Функция, бэктест или перебор: сколько длится, как часто, на каком железе. Для первого ответа код не нужен.

  2. Увидьте измеренное ускорение

    Мы измеряем ваш код на эталонном железе и показываем фактор до оплаты. Rust-крейты и проекты на C/C++ (CMake или make) получают его автоматически в кабинете.

  3. Платите, только если быстрее

    Ниже 10% ускорения уровень 1 бесплатен. Вы получаете подписанную сборку, вывод которой совпадает с вашим бит в бит, а уровень 1 можно сначала испытать на своём железе.

Чуть ниже — измеренные кейсы, которые можно скачать и запустить ↓
Что уже измерено

Стандартные тесты, выход совпадает с оригиналом до бита

Публичный код и общепринятые наборы данных: корпус сжатия Silesia, видеоклипы Xiph, наборы ETT для прогноза временных рядов, индикаторы технического анализа. Каждый замер — реальное последовательное исполнение всего набора против неизменённого оригинала, все выходы сравниваются побайтно. Доказательства корректности для кодеков прошли независимую проверку. Таблицы описывают исходные выпуски. Текущие загрузки содержат отдельную проверку сборки со сравнением вывода и обновлёнными хешами.

Все три уровня · бинарники открыты

Индикаторы ADX, ATR и PSAR из Python ta

Порт библиотеки ta 0.11 на Rust, совпадающий с Python бит в бит. Свип параметров на одном миллионе баров: ATR, ADX и ±DI для пяти окон и Parabolic SAR в четырёх конфигурациях. Каждый уровень собран, замерен на стенде и выложен; вывод всех уровней совпадает до байта, в том числе на входах, где программа падает.

5,7×уровень 2 к бесплатному уровню 0, время всего прогона
18×к Numba на вычислениях
< 48 чработа инженера над уровнем 2

Тот же алгоритм на Numba (тоже бит в бит): 335 мс вычислений и 201 мс pandas.read_csv. Уровень 2: 18 мс вычислений и 20 мс разбора CSV, вся программа — 81 мс. Python ta: 20,5 с на 100 тыс. баров.

База, такты на запуск (M1, медиана) 1 376,9 млн 503 мс
БазовыйLTO, codegen-units, target-cpu · бесплатно 1 248,6 млн463 мс · опорный
Уровень 1автоматическая доказанная оптимизация 791,4 млн342 мс · 1,58× такты · 1,35× время
Уровень 2инженер: смена вычислительной схемы 143,3 млн81 мс · 8,7× такты · 5,7× время
Замер на стенде: Zen 3, такты vPMU, 9 чередующихся раундов; время — вся программа, включая чтение данных. Уровни 1 и 2 сравниваются с бесплатным уровнем 0. Замерен исходный выпуск. В этом кейсе автоматическая оптимизация сама по себе даёт 1,58× по тактам, наибольший выигрыш даёт уровень 2.
Скачать · MIT · Linux x86-64 весь пакет1 МБ: программы всех уровней, исходник базы, генератор данных, замеры база базовый уровень уровень 1 уровень 2 как проверить SHA256SUMS
Все три уровня · бинарники открыты

Перебор обучения спайковой нейросети (модель BindsNET)

Резервуар из 128 нейронов LIF с рекуррентными связями; входные веса обучаются онлайн по STDP (PostPre из BindsNET). Перебор обучает 24 сети по порогу, мембранной постоянной времени и скорости обучения на синтетическом рыночном потоке из 5 000 шагов. Программа на Rust печатает ровно то же, что скрипт BindsNET, бит в бит — на основном входе и на 54 сгенерированных наборах.

15,8×уровень 2 к бесплатному уровню 0, такты (14,2× по времени)
395×против того же перебора в BindsNET, одно ядро
0 битрасхождения с BindsNET

BindsNET 0.3.3 на PyTorch (CPU, один поток, то же ядро): 24,0 с на перебор, в основном накладные расходы Python и диспетчеризации на каждом шаге. Уровень 2: 60,9 мс на том же ядре. Одна настройка сборки здесь на 6% медленнее обычной сборки; автоматическая оптимизация даёт 3,89× к уровню 0 по тактам, уровень 2 — 15,8×.

База, такты на запуск (M1, медиана) 3 525,0 млн 805 мс
БазовыйLTO, codegen-units, target-cpu · бесплатно 3 742,6 млн865 мс · опорный
Уровень 1автоматическая доказанная оптимизация 962,4 млн222 мс · 3,89× такты · 3,90× время
Уровень 2инженер: смена вычислительной схемы 237,0 млн60,7 мс · 15,8× такты · 14,2× время
Замер на стенде: Zen 3, такты vPMU в изолированной ВМ, 9 чередующихся раундов; CCX был зарезервирован под замер (2 из его 16 логических CPU были вне нашего контроля). Уровни 1 и 2 сравниваются с бесплатным уровнем 0. Замерен исходный выпуск.
Скачать · MIT · Linux x86-64 весь пакет0,8 МБ: программы всех уровней, исходник базовой версии, скрипт BindsNET, генератор данных, замеры база базовый уровень уровень 1 уровень 2 как проверить SHA256SUMS
16–20×к грамотному нативному порту
≈12 000×к оптимизатору самого vn.py
Оптимизация стратегий · vn.py · бинари опубликованы

Подбор параметров в vn.py: тот же топ-10 на порядок быстрее

Оптимизатор vn.py перебирает 600 наборов параметров его штатной стратегии на скользящих средних. Наша программа печатает те же десять лучших наборов с теми же коэффициентами Шарпа, доходностями, просадками и числом сделок — бит в бит на машинах с AVX2. Она в 16–20× быстрее грамотного нативного порта, который считает каждую скользящую среднюю один раз, и примерно в 12 000× быстрее самого vn.py; большую часть этого даёт уход из Python. Замер на AMD Zen 3 и Zen 4.

Скачать · MIT · Linux x86-64 весь пакет60 КБ: наша программа, оба нативных порта, драйвер vn.py, генератор данных, замеры на двух платформах что измерено
6–11×весь прогон hyperopt, тот же файл результатов
204 132сделок сравнено, все совпали
Оптимизация стратегий · freqtrade · замерено

Hyperopt freqtrade: тот же файл результатов, в 6–11 раз быстрее

Собственный hyperopt freqtrade на пяти крипто-парах и двух годах 5-минутных свечей. С нашей сборкой, загруженной в тот же freqtrade, параметры, функция потерь и метрики каждой эпохи и каждая сделка в файле результатов совпадают, а весь прогон быстрее в 5,9–6,7 раза на 30 эпохах и в 7,2–11 раз на 100 эпохах, на AMD Zen 3 и Zen 4. Проверено на 15 сценариях: десять стратегий, четыре таймфрейма, 204 132 сделки. freqtrade распространяется под GPL-3.0, поэтому сборку мы не раздаём: мы запускаем ваш hyperopt на наших машинах и возвращаем тот же файл результатов. Первые 20 ядро-часов бесплатно. Дальше — $0,10 за ядро-час машинного времени, оплата с баланса в кабинете. TAKT не связана с проектом freqtrade, не одобрена и не уполномочена им.

Замеры · без бинаря что измерено показания и скрипты23 КБ: конфигурации, скрипты запуска, дайджесты результатов, показания takt-harness на двух платформах
2,2–5,2×весь прогон оптимизации, те же результаты
91 022сделки сравнены, все совпали
Оптимизация стратегий · backtrader · замерено

backtrader optstrategy: те же результаты, в 2,2–5,2 раза быстрее

Собственный перебор параметров backtrader (optstrategy): стратегия SmaCross из документации backtrader, 100 наборов параметров, три года часовых свечей BTC/USDT. С нашей сборкой, загруженной в тот же backtrader, результат каждого набора параметров совпадает: вывод каждого анализатора, каждое уведомление об ордере и сделке и итоговое состояние брокера. Весь прогон быстрее в 4,7–5,2 раза, а на пяти других задачах — в 2,2–3,9 раза, на AMD Zen 3 и Zen 4. Проверено на 25 сценариях: двенадцать стратегий, 91 022 сделки, 600 613 уведомлений об ордерах. backtrader распространяется под GPL-3.0, поэтому сборку мы не раздаём: мы запускаем вашу оптимизацию на наших машинах и возвращаем ровно то, что возвращает backtrader. Первые 20 ядро-часов бесплатно. Дальше — $0,10 за ядро-час машинного времени, оплата с баланса в кабинете. TAKT не связана с проектом backtrader и его автором, не одобрена и не уполномочена ими.

Замеры · без бинаря что измерено показания и скрипты87 КБ: стратегии, скрипты запуска, дайджесты результатов, показания takt-harness на двух платформах
2,3–7,4×семь индикаторов, C
2,0–6,0×из Python без изменений
Библиотека C · прямая замена · бинари опубликованы

Индикаторы TA-Lib: более быстрая библиотека на замену

Замена C-библиотеки TA-Lib 0.8.1 с тем же ABI: программы на C и Python-обёртка TA-Lib используют её без изменений, а каждый выход совпадает с официальной библиотекой бит в бит (проверено 4,59 млн вызовов). На свипе параметров по миллиону баров семь индикаторов (CCI, SAR, DX, ADX, EMA, STOCH, RSI) в 2,3–7,4× быстрее самой быстрой из официальной сборки и сборки -march=native, замер на AMD Zen 3 и Zen 4. Через неизменённую Python-обёртку тот же свип быстрее в 2,0–6,0×.

Скачать · BSD-3 · Linux x86-64 весь пакет3,2 МБ: библиотека, программы замера, инструмент побитовой сверки, замеры на двух платформах что измерено pip install ta-lib-takt
5–18×европейское MC, бесплатно, Python
2–24×все движки, полная версия
Пакет Python · прямая замена · европейское MC · бесплатно на PyPI

Монте-Карло в QuantLib: быстрее оценка европейских опционов

Официальный пакет QuantLib для Python с более быстрым ядром Монте-Карло; каждый результат совпадает с официальным пакетом бит в бит на той же машине. Бесплатный пакет (pip install quantlib-takt) ускоряет европейские опционы: книга европейских опционов считается примерно в 5–8× быстрее через неизменный API, греки бампом — до 18×, замерено на AMD Zen 3 и Zen 4. Коммерческая версия добавляет все остальные движки (азиатские, американские, барьерные, корзины, Хестон, локальная волатильность) с ускорением 2–9×, библиотеку C++ и поддержку. Полная версия — от $399 в месяц при оплате за год.

pip · бесплатно · Linux x86-64 pip install quantlib-takt весь пакетпрограммы нагрузки, скрипты замера и все замеры на двух платформах что измерено
1.6–3.7×анализы, бесплатно, Python
3–18×анализы и SHAP, полная версия
Пакет Python · прямая замена · объяснимость ML · бесплатно на PyPI

LightGBM: permutation importance, частичная зависимость и what-if быстрее

Официальный пакет LightGBM для Python с более быстрой библиотекой внутри; каждый прогноз совпадает с официальным пакетом бит в бит на той же машине. Бесплатный пакет (pip install lightgbm-takt) ускоряет анализы с многократными вызовами на моделях до 300 деревьев: permutation importance, частичная зависимость и кривые ICE, MDA по фолдам кросс-валидации и сценарии what-if считаются примерно в 1.6–3.7× быстрее через неизменный API, замерено на AMD Zen 3 и Zen 4. Всё остальное выполняет собственный код LightGBM с обычной скоростью. Коммерческая версия ускоряет модели любого размера (эти анализы до 18× на модели из 1000 деревьев), пакетный прогноз (2–5× через C API) и permutation-объяснитель SHAP (3–4×), работает на нескольких потоках и добавляет библиотеку C/C++ и поддержку. Полная версия — от $399 в месяц при оплате за год.

pip · бесплатно · Linux x86-64 pip install lightgbm-takt весь пакетскрипты нагрузки, скрипты замера и все замеры на двух платформах что измерено
5,6–5,9×к исходному Rust
2,3–3,6×к PyTorch + Inductor на всех ядрах

Прогноз временных рядов на Rust

DLinear с весами официального обучения на четырёх наборах ETT, все окна тестовой части, против исходной Rust-реализации. На всех ядрах в 2,3–3,6 раза быстрее PyTorch с компилятором Inductor. PatchTST: 2,2–2,5×.

1,29–1,36×

rav1e 0.8 — кодирование AV1

Пять клипов Xiph, выбранных случайно до замера: Elephants Dream, Park Joy, Johnny, Bus, Stefan. Полный цикл кодирования в режимах speed 6 и 10. Каждый клип быстрее, потоки совпадают побайтно.

Скачать · BSD-2 · Linux x86-64 весь пакет база TAKT как проверить SHA256SUMS
3,4×к исходному Rust
4,0×к libbz2 на C

Распаковка bzip2

Крейт bzip2-rs на чистом Rust, все 12 файлов корпуса Silesia, 212 МБ. Каждый файл быстрее, от 2,8 до 4,2 раза. На 400 000 проверочных потоков, из них 360 000 повреждённых, совпадают и данные, и тексты ошибок.

Стенд: AMD Threadripper PRO 5975WX (Zen 3, AVX2). Отношение медиан реального исполнения всего набора: семь раундов для кодеков, пять повторов для моделей. В одном потоке PyTorch на этих моделях пока быстрее: он меняет порядок сложений, а мы сохраняем побитовое совпадение с исходным кодом. Это результаты на конкретном коде, а не обещание для вашего: для вашего crate мы называем цифры после замера.

Цены

Платите за ускорение, которое уже видели

Цена уровня 1 зависит от размера горячего кода и достигнутого ускорения. Вы видите результат до оплаты, поэтому платите только за то, что получили.

Базовый
$0
  • Профили сборки: LTO, codegen-units, target-cpu, PGO
  • Рецепт флагов, который вы применяете сами
  • Горячий код до 2 тыс. строк
  • Готово за минуты

Цифра измерена на стенде, это не прогноз.

Уровень 2 · инженер
по оценке 30% вперёд
  • Главное — смена вычислительной парадигмы, дальше раскладка данных, SIMD и всё остальное
  • От пары часов до пары дней
  • Остаток — после приёмки по метрикам

Не достигли гарантированного минимума — возвращаем деньги на баланс по таблице из договора.

Цены уровня 1

Ускорение сверх базового уровнядо 1 тыс. строк1–3 тыс. строк3–10 тыс. строкболее 10 тыс. строк
10–25%$290$490$890по запросу
25–100%$790$1 190$2 390по запросу
100–200%$1 190$1 790$3 590по запросу
более 200%$1 990$2 990$5 990по запросу

Ускорение — во сколько раз новая сборка быстрее базового уровня, минус единица: 100% — вдвое быстрее, 200% — втрое; в тактах это −20% при 25%, −50% при 100% и −67% при 200%. Бесплатный базовый уровень — для горячего кода до 2 тыс. строк; для большего объёма он входит в уровень 1. Дополнительная платформа: +30%. Строки считаются по llvm-cov для Rust и по gcov для C и C++: только код, который выполняется в бенчмарке паспорта (подробнее — в вопросе «Как считаются строки?»).

Сколько это экономит

Укажите, сколько сейчас длится один прогон и как часто вы его запускаете. Ускорение возьмите из бесплатной оценки; 5,7× — измеренный кейс ta.

Было

Время в месяц—
Стоимость вычислений в месяц—

Стало

Время в месяц—
Стоимость вычислений в месяц—

Стало = было ÷ ускорение. Стоимость вычислений рассчитана по вашему числу ядер и цене ядро-часа. Ускорение для вашего кода измеряется до оплаты.

Подписка на CI: ускорение не теряется с новыми релизами

ПланВ месяц при оплате за годЧто входит
Crate$149Горячий код до 2 тыс. строк, до 4 релизов в месяц, одна платформа
Команда$399До 10 тыс. строк, до 20 релизов в месяц, две платформы
Enterpriseот $1 500Несколько crate или проектов, SLA, приёмка на вашем железе

Подписка оформляется на год; годовая плата ($1 788, $4 788 или от $18 000) списывается с баланса при оформлении. При каждом новом релизе сборка снова ускоряется и проверяется на эквивалентность. Если релиз не удалось ускорить до уровня договора, вам полагается доля месяца, которую составляют такие релизы, на выбор: эта доля месячной платы на баланс или продление подписки на эту долю месяца. Из четырёх релизов месяца не удался один — четверть месячной платы или четверть месяца.

Все расчёты идут через баланс в кабинете. Пополняйте его картой через Stripe (карты, Apple Pay, Google Pay и местные способы оплаты), банковским переводом или промокодом; каждая услуга списывается при заказе. Неиспользованные оплаченные средства возвращаем по запросу; бонусные средства из промокодов и бонусов оплачивают услуги.

Для кого

Где ускорение больше всего

Сегодня мы работаем на x86-64 (AMD Zen 3, AVX2). Больше всего выигрывают плотные итеративные вычисления с обратной связью, где каждый шаг зависит от предыдущего: рекуррентные индикаторы, симуляция стратегии по истории, обучение спайковых и других рекуррентных моделей, перебор множества наборов параметров. Много дают и код, который подолгу ждёт память, и побитовый разбор данных.

Бэктест и симуляция стратегий

Торговые движки, replay рыночных данных, перебор и эволюция параметров. Закрытый кейс клиента: 2,5–10,5× автоматически, до 33,7× с инженером. Открытый кейс: индикаторы ta, 5,7× по времени всего прогона к бесплатному уровню 0.

Обучение моделей и перебор параметров

Модели с сильной обратной связью — спайковые сети (в духе BindsNET) и другие рекуррентные модели — при обучении и переборе множества наборов параметров. На уровне 2 переносим модель с Python в Rust бит в бит. Открытый кейс: перебор обучения модели BindsNET по STDP, 15,8× к бесплатному уровню 0 и 395× к самому BindsNET при идентичном выводе.

Архивы и конвейеры данных

Распаковка архивов, дампы Википедии и OpenStreetMap, научные и геномные данные, хранилища логов. bzip2: 3,4× к исходному Rust и 4,0× к C.

Видео и AV1

Видеоплатформы и облачное транскодирование на rav1e. 1,29–1,36× на полном кодировании: на кластере это около четверти серверов.

ML-инференс на CPU

Модели временных рядов в Rust без Python: прогноз нагрузки, спроса, энергопотребления. 5,6–5,9× к исходному Rust, на всех ядрах быстрее PyTorch.

Класс кодаИзмеренное ускорениеГде измерено
Симуляции с состоянием, перебор кандидатов по одной истории2,5–34×торговый движок
Спайковые сети: обучение по STDP, перебор параметров3,9–15,8×BindsNET: LIF + STDP
Индикаторы теханализа, свипы параметров1,6–8,7×ta: ADX, ATR, PSAR
Оптимизаторы стратегий: перебор параметров по сетке16–20×vn.py: DoubleMaStrategy
Библиотеки индикаторов на C, вызов из C или Python2,0–7,4×TA-Lib 0.8.1
Декодеры с обходом таблиц и побитовым разбором2,5–4×bzip2, Silesia
Инференс небольших моделей на всех ядрах2,2–5,9×DLinear, PatchTST, ETT
Кодировщики с перебором режимов1,3–1,4×rav1e, Xiph
Криптопримитивы, кодеки на ручном SIMD, форматы с сильной библиотекой на CнетSHA-256, ChaCha20, x264, LZ4

Для ta и спайковой сети — к бесплатному уровню 0, в тактах. Остальные строки — к исходной программе или, где это сказано в кейсе, к эталонной C-библиотеке.

Как это работает

От первого замера до подписанной сборки

Измерьте у себя

Бесплатный харнесс снимает такты, инструкции, промахи кэша и переходов и время. Пакет показаний можно отправить нам без исходников, и мы дадим предварительный диапазон.

Пришлите горячую часть

Для настоящего замера, а не оценки, нужен исходный код. Поможем выделить только вычислительное ядро без бизнес-логики и снимем на нём базу на эталонном стенде.

Зафиксируем паспорт

Платформа, нагрузка, версии инструментов и протокол записываются до начала работы. От этих чисел считается результат.

Увидите три цифры

Базовый уровень и уровень 1 измерены на стенде заранее. Уровень 2 — диапазон, срок и гарантированный минимум.

Получите сборку

После оплаты — подписанная библиотека, заголовок, SBOM, отчёт о замерах и проверке эквивалентности.

Для инженеров

Доказательства

Что мы подписываем, как измеряем и что вы можете проверить сами: паспорт измерений, открытый харнесс, изоляция вашего кода и сравнение с обычными вариантами.

Гарантия

Мы обещаем конкретные числа на конкретном железе

До начала работы фиксируем паспорт измерений: модель CPU и частоту, нагрузку с хэшами входных данных, версии компилятора и инструментов, протокол замера. Договор говорит только об этих метриках.

M1Такты на реальном CPUСчётчик PMU на эталонном стенде при фиксированной частоте, база и новая версия чередуются. Это обещание.
M2Детерминированные такты и инструкцииСимуляция фиксированной версии. Одинаковая цифра у нас и у вас, для сверки и CI.
M3Время p50 / p99Для задач, где важна задержка, обещание можно дать по p99.
M4Пиковая памятьОграничение: не хуже базы больше оговорённого процента.
M5КорректностьДифференциальные тесты и фаззинг, в том числе на скрытых входах, которых оптимизатор не видел.
Формулировка в договоре

«На платформе P по протоколу паспорта измерений медиана M1 снизится не менее чем на X% относительно базы при выполнении условий M4 и M5».

Почему такты реального CPU. Симулятор даёт повторяемое число, но не всегда верное: он не видит снижения частоты при широком SIMD, префетчера и многопоточности. Поэтому в договоре — реальное железо, а симуляция служит для сверки.

Скрытые входы. Часть ваших данных откладывается до приёмки, чтобы ускорение не было подгонкой под бенчмарк. Вы присылаете нам эти данные в зашифрованном виде, а ключ даёте после того, как готов бинарь.

Харнесс

Измерьте сами

Бесплатная утилита командной строки с открытым кодом (MIT) снимает те же показания, что и наш стенд: такты и инструкции пользовательского режима по аппаратным счётчикам. Отправьте нам показания без кода и примите работу сами.

run

Такты, инструкции, промахи кэша и предсказателя переходов, время и память. Медиана, разброс, 95-процентный доверительный интервал и оценка качества.

:::

Несколько сборок поочерёдными раундами: дрейф температуры и нагрузки влияет на все одинаково.

compare

До и после: коэффициент ускорения с интервалом по определению из наших Условий и проверка, что вывод совпадает. Код выхода может остановить задачу в CI.

show

Просмотрите пакет перед отправкой: в нём нет кода, вывода и содержимого файлов — только хеши и сведения о машине. --redact хеширует ещё и пути с аргументами.

$ 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  # можно отправить без исходников

Сокращённый реальный вывод на нашей витрине ta-indicators (1 млн баров): исходная сборка против сборки уровня 2. В пакете показаний — сведения о машине, хеши программ, входов и вывода, метрики с разбросом и оценка качества.

Исходный код и готовый бинарь для Linux: github.com/rdmitry0911/takt-harness (MIT).

Безопасность

Ваш код исполняется только в изолированном контуре без сети

Изоляция

Каждая сборка — одноразовая microVM без доступа в сеть. Бенчмарк-узел в каждый момент занят одним клиентом.

Шифрование и удаление

Отдельный ключ на проект. Через 30 дней или по кнопке ключ уничтожается вместе с данными.

Код остаётся вашим

Код и данные не передаются третьим лицам, не используются в работе для других клиентов и удаляются по сроку. Общие математические методы, найденные нами при работе по ускорению вашего алгоритма, пополняют нашу библиотеку без вашего кода, данных и названий. Это пункты договора и NDA до загрузки.

Подписанный пакет

SHA-256 каждого файла, подписанные нашим опубликованным ключом; SBOM компонентов; отчёт об измерениях и тулчейн, которым собрана сборка.

Проверяемая чистота

Сборка не обращается к сети, не запускает другие программы и не пишет файлы. Скрипт в пакете показывает это на ваших входных данных: запуск совсем без сети плюс strace.

Только горячий модуль

Можно прислать только вычислительное ядро без бизнес-логики. В документации есть инструкция, как его выделить.

Вы получаете ускоренный бинарь и подтверждение замеров и эквивалентности; метод остаётся нашим know-how. Escrow исходников доступен по письменному запросу до оплаты: отдельный образ для заказа по escrow rider. Платформа и процедура подготовки и передачи должны пройти квалификацию и быть записаны в заказе. Shadow mode требует воспроизводимого изолированного состояния; безопасность сборки можно проверять самим или с подрядчиком.

Как устроена поставка и что вы можете проверить сами

Сравнение

Чем это отличается от привычных вариантов

ИИ-агент самостоятельноСервисы CI-бенчмаркингаКонсультантTAKT
Ускоряет кодданет, ловит регрессиидада
Результат известен до оплатынет—нетда, уровни 0–1
Гарантия в договоренетнетобычно нетда, по M1
Защита от подгонки под бенчмаркна вас—зависит от человекаскрытые входы
Доказательство корректности каждого изменениянет, только ваши тесты—редкода, с независимой проверкой
Собственные методы оптимизацииобщие знания модели—опыт одного человекабиблиотека доказанных методов, растёт с каждым проектом
Честный отказ, если ускорять нечегоагент всегда что-то меняет—не всегдада, до оплаты
Эталонное железовашедавашеда
Модель оплатытокеныза пользователяза часза результат
Вопросы

Что обычно спрашивают

Как вы это делаете?

Мы анализируем код и используем принцип Парето так глубоко, насколько возможно: устраняем лишние вычисления и применяем другие методики вычислений, перекладывая значительную часть работы из времени выполнения на этап компиляции.

Почему вы отдаёте сборку, а не исходники?

Метод оптимизации — наше ноу-хау, поэтому мы поставляем сборку и никогда не отдаём исходный код: для Rust-крейта — статическую или динамическую библиотеку с C-заголовком и тонкой Rust-обёрткой, которая подключается одной строкой в Cargo.toml; для проекта на C или C++ — исполняемый файл. Корректность подтверждается тестами эквивалентности, происхождение — подписью и provenance.

Что будет, когда я изменю код?

Интеграция сборки и возврат к оригиналу согласуются при выдаче. Если ускоренное ядро изменилось, нужна новая версия и замер; CI предоставляется по отдельному принятому заказу. Для непрерывности бизнеса escrow исходников можно запросить до оплаты через квалифицированный escrow box по rider.

Придётся ли отдать вам стратегию?

Для предварительного диапазона — нет: бесплатный харнесс даёт пакет показаний без исходников. Для сборки нужен код, который работает в горячем цикле, и только он: обычно симулятор, индикаторы и состояние портфеля. Он под NDA, не используется в работе для других клиентов и удаляется по сроку. Часть данных может оставаться у вас до приёмки: скрытые входы присылаются зашифрованными, а ключ вы даёте, когда сборка готова.

Почему не просто добавить ядер?

Делайте и то, и другое. Независимые прогоны перебора хорошо раскладываются по ядрам, а наша сборка ускоряет каждый из них на каждом добавленном ядре. Ядра не помогают одной симуляции вдоль истории, где каждый шаг зависит от предыдущего, а именно такой код мы и ускоряем. Меньше ядро-часов на тот же перебор — это ещё и меньший счёт за облако.

Что, если обещанное ускорение не получится?

На уровне 1 вы платите за уже измеренный результат, поэтому такого не бывает. На уровне 2 мы называем гарантированный минимум; если он не достигнут, деньги возвращаются на баланс по таблице из договора, а оплаченные средства с баланса возвращаем по запросу.

Как считаются строки?

Собираем ваш код с инструментированием покрытия в том же профиле и для той же платформы, что в паспорте, и прогоняем бенчмарк паспорта на открытых входах. Считаются строки вашего кода, которые выполнились хотя бы раз: для Rust по данным llvm-cov (-C instrument-coverage), для C и C++ по данным gcov. Не считаются пустые строки и комментарии, невыполненный код, тесты и обвязка бенчмарка, сторонние зависимости вне объёма работы и ассемблер; обобщённая функция считается один раз. Это число записывается в паспорт до оплаты. Данные в подсчёт не входят, только ваш код. Для ориентира: при распаковке корпуса Silesia в bzip2-rs выполняется 598 строк его кода, при кодировании пяти клипов Xiph в rav1e — 12 809 строк из 55 419.

Какие платформы поддерживаются?

Публичные демо рассчитаны на Linux x86-64 с AVX2/FMA. TA-Lib и vn.py измерены на AMD Zen 3 и Zen 4. Для оплаченной сборки функции CPU, ОС, ABI и машина приёмки фиксируются в заказе; Intel, ARM и другие среды требуют отдельной оценки.

Какой код ускоряется плохо?

Декодеры форматов, для которых уже есть давно оптимизированные библиотеки на C (LZ4, zstd, deflate): против них мы пока не получили выигрыша. Зрелые кодеки на ручном SIMD и ассемблере (x264, x265), криптографические примитивы вроде SHA-256 и ChaCha20, обработка случайных несжимаемых данных и очень короткие вызовы, где всё время уходит на накладные расходы. В таких случаях бесплатная оценка честно покажет небольшой выигрыш, и платить не придётся.

Мои такты отличаются от ваших. Почему?

Такты зависят от модели CPU, частоты, turbo, памяти и входных данных. Договорные цифры снимаются на стенде по паспорту измерений. Харнесс читает те же счётчики, поэтому на той же модели CPU и с теми же настройками ваши цифры должны быть близки к нашим. Число инструкций гораздо меньше зависит от машины — сравнивайте сначала его.

Что с плавающей точкой?

По умолчанию вывод совпадает бит в бит, с ограниченным исключением для payload у NaN, полученных в арифметике с плавающей точкой, там, где язык вашего кода допускает разные payload. Явно сохранённые кодировки NaN и весь остальной вывод остаются точными, если в паспорте не согласовано иное. Паспорт может требовать и точного совпадения payload у NaN. Любое другое согласованное отклонение фиксируется в паспорте и проверяется тестами.

Сборка упадёт на старом сервере?

Проверьте требования конкретного пакета к CPU. Публичные бинарники могут требовать AVX2/FMA и не запустятся на старом CPU. Поддерживаемые функции и возможный fallback оплаченной сборки согласуются в паспорте; fallback не предполагается у каждого бинаря.

Снизит ли это задержку моей live-торговли?

Только если профиль показывает, что узкое место — вычисления. Для live-пути мы меряем весь путь от рыночного события до ордера, например его p99 на вашем сервере, а не одну функцию: часто основное время уходит на сеть и биржу. Самые сильные наши результаты — пакетные вычисления: бэктесты, обучение и перебор параметров.

Вы работаете с C, C++ и Python?

Да. Мы оптимизируем ваш исходный код на C и C++: проекты, которые собираются через CMake или make, проходят через кабинет так же, как Rust-крейты, измеряются до оплаты, и вы получаете исполняемый файл. Библиотека на замену с тем же ABI, чтобы ваши программы и Python-код, который её вызывает, работали без изменений (см. кейс TA-Lib), и нативные сборки для Python-кода с тем же выводом (см. кейс vn.py) остаются инженерной работой уровня 2 по индивидуальной цене.

Не только TAKT

Другие наши проекты

Системное ПО той же команды: разблокировка зашифрованного корня ZFS при загрузке, перестройка RAIDZ на месте, браузерная консоль для Proxmox VE и горячее подключение Thunderbolt в QEMU. Каждая карточка открывает краткое описание; код — на GitHub. Ещё один проект — условное хранение секретов в виртуальной машине с TPM.

escrow-box

Прототип условного хранения секретов в виртуальной машине с TPM. Исходники можно проверить пересборкой до их раскрытия.

  • TPM 2.0
  • UKI
  • Clevis

zbm-openwrt-clevis

Измеряемая загрузочная среда на OpenWrt: разблокирует зашифрованный корень ZFS с помощью Clevis и TPM, затем загружает систему через ZFSBootMenu.

  • OpenWrt
  • ZFS
  • TPM 2.0
  • Clevis

zfs

Форк OpenZFS с прототипом перестройки RAIDZ на месте: смена чётности между raidz1, raidz2 и raidz3 без экспорта пула.

  • OpenZFS
  • RAIDZ
  • C

qsm-rd

QSM Direct: графическая консоль на WebRTC для виртуальных машин и LXC-контейнеров Proxmox VE, с аппаратным кодированием, если на узле есть кодер.

  • Proxmox VE
  • WebRTC
  • LXC

qemu-thunderbolt

Слой горячего подключения PCIe в стиле Thunderbolt для QEMU: добавление и удаление устройств в гостях вроде macOS, которые не умеют подключать их напрямую.

  • QEMU
  • Thunderbolt
  • PCIe
  • macOS
Начать

Оценить одну задачу

Rust-крейт или проект на C/C++ с CMake или make? Откройте кабинет прямо сейчас. Для Python или чего-то другого опишите один медленный прогон ниже. Начните с длительности, частоты и платформы; на этом шаге не нужны ни код, ни установка харнесса.

Компания и технические детали (необязательно)
Код на этом шаге не нужен. Отправляя заявку, вы соглашаетесь на обработку контактных данных.
Пока не готовы?

Что мешает попробовать TAKT? Один клик подскажет нам, что исправить.