Skip to content

v0.17.0-rc.3

Pre-release
Pre-release

Choose a tag to compare

@almuleev almuleev released this 13 Oct 21:37
· 21 commits to main since this release

Скачать EXE / Download EXE · SHA-256

Русский

  • Адаптивная память: RAM или дисковое чтение выбираются по доступным ресурсам, а не только размеру файла.
  • Чёткий плотный график: исправлены прерывистые линии и чрезмерно широкие маркеры разрывов.
  • Удобнее масштабирование: готовый график сохраняется на время уточнения; недавно просмотренные диапазоны кешируются.
  • Склейка времени для дискового источника: согласованы просмотр, навигация и магнит к исходным отсчётам.
  • Быстрее повторный H1: переиспользуется подготовленный вход; усилены проверки отмены, бюджета и изменения файла.

Предварительный выпуск. Сохраняются полные N/L, исходные данные и общая область анализа FFT/АЧХ.

Дисковый анализ требует свободного временного диска и времени. Бюджет данных не ограничивает всю память процесса; физический ПК с 8 GiB не проверялся.

English

  • Adaptive memory: available resources determine RAM or disk access, rather than file size alone.
  • Clear dense plots: fixed broken-looking lines and excessively wide gap markers.
  • Smoother zooming: the ready plot stays visible during refinement; recent viewports are cached.
  • Disk-source time stitching: viewing, navigation and original-sample snapping share a consistent axis.
  • Faster repeated H1: prepared input is reused, with stronger cancellation, budget and source-change checks.

Pre-release. Complete N/L, original data and the shared FFT/FRF analysis interval are preserved.

Disk analysis needs temporary storage and time. Data admission is not a process-wide memory cap; physical 8 GiB hardware was not tested.


Полный журнал, проверки и ограничения / Full changelog, validation and limitations

Русский

Предварительный выпуск от 14 октября 2026 года. Включает все изменения после
v0.17.0-rc.2: исправления графика и настроек, адаптацию под доступные RAM/commit
и процессор, ускорение повторного FRF и защиту крайних случаев. При достаточной
памяти программа использует RAM; при недостатке открывает полный источник и
читает блоками. Размер файла сам по себе больше не принуждает к дисковому пути.
Общая область «Вся запись / Участок / Взять видимый участок» сохраняется.

Просмотр, время и настройки

  • Исправлено бледное/прерывистое отображение плотного Signal и дискового Spectrum.
    Плотные обзоры используют сплошную линию и диапазон конечных экстремумов;
    разрешимые разрывы и недействительные значения не соединяются. Узкие маркеры
    разрывов больше не окрашивают всю высоту графика оранжевым.
  • Во время уточнения масштаба остаётся предыдущая совместимая проекция с
    уведомлением. Четыре immutable viewport хранятся в ограниченном LRU;
    повторное посещение может обходиться без чтения исходных листьев.
  • AMSOIDX2 сохраняет точное исходное время в листьях: 8N байт плюс 24 байта
    на лист. Глобальный GUI-шаг, точный Cadence, карточки разрывов и временные
    проходы FFT используют бинарный индекс вместо повторного разбора текста.
    Старый управляемый индекс перестраивается один раз по новому ключу.
  • Склейка времени доступна для дискового источника. Якоря непрерывных участков
    сохраняют короткие интервалы после больших пропусков; zoom, pan, drag и Snap
    используют согласованную экранную ось. Исходные значения, анализ и экспорт
    сохраняют фактическое время; огибающая не становится численным входом.
  • Исправлена галочка Auto. Настройки показывают бюджет «Данные + расчёты»,
    учтённую память, RAM процесса и private commit как отдельные показатели.

Адаптивная память, чтение и расчёт

  • Auto использует min(доступные RAM, commit) с системным резервом 20%, не менее
    512 MiB при достаточном свободном объёме; при давлении оставляет половину.
    Убраны потолки Auto 8 GiB, загрузки 2 GiB и отдельный GUI-предел 384 MiB.
    Manual 64…65536 MiB сохраняет тот же безопасный системный резерв.
  • Порог 512 MiB выбирает discovery, а не обязательное дисковое хранение.
    Один полный metadata-проход может собрать оригинальные time/raw X/каналы
    в RAM. Кандидат вместе с ростом vector ограничен третью свободного допуска;
    отказ освобождает его и продолжает полное source-открытие.
  • FFT/FRF оценивают вход, подготовку, рабочие массивы, планы и результаты.
    Отказ RAM-допуска/выделения FFT освобождает кандидат перед точным дисковым
    повтором. Сохранены степенные и произвольные длины, N/L, сетки, интерполяция,
    удаление DC, нормировка, правила разрывов, H1/coherence и слабые маски.
  • Windows выбирает физические ядра с учётом affinity. Общий исполнитель растёт
    лениво до 32 участников; число ограничено работой и памятью. Малые задачи,
    занятый пул и недостаточный допуск используют последовательный путь.
    Welch-перекрытие, общая FFT средней опоры и порядок Sxx/Syy/Sxy сохранены.
  • FRF удерживает один prepared input в пределах budget/3 RAM и 256 MiB диска,
    без дополнительной полной копии. При известном точном N допущенный replay
    сразу готовит RAM-вход без промежуточного дискового снимка. Повтор H1 повторно
    использует подготовку, но пересчитывает результат.
  • Idle view/FRF-кэши, неактивные результаты и FFT-планы уступают место новым
    заданиям. Registry/pin защищают активные Bluestein-планы при вытеснении.
    Снижение бюджета переводит полные replayable документы на диск, сохраняя
    диапазон, обработку, разметку, численную ревизию и прежний Fs. Частичные и
    нереплеируемые документы не уничтожаются; отмена сохраняет живое владение.
  • Windows CLI получает автоматический численный допуск, перемещает полный
    выбранный Dataset и освобождает ненужный оригинал. Его загрузчик остаётся
    резидентным. Default 384 MiB сохранён для внешнего численного API;
    GUI/Windows CLI передают явные допуски.

Исправления крайних случаев

  • Отдельный cache_epoch запрещает старой подготовке FRF снова заполнить
    очищенный или уменьшенный кэш. Queued cached Request сразу владеет shared
    PreparedFrf: очистка удержания не лишает повторное задание входа.
  • Несовпадение точного expected_samples отклоняется как SourceChanged и для
    RAM, и для дисковой подготовки FRF; временные файлы и резервы освобождаются.
  • Неизвестное исключение резервного FFT больше не завершает процесс;
    ошибка выделения текста сообщения также перехватывается, worker остаётся жив.
  • Демоция до первого вычисления Fs фиксирует шаг полной resident оси,
    включая неактивный документ, вместо вычисления по двум seed-отсчётам.
  • Версия исходного файла перепроверяется также для RAM FFT перед/после
    расчёта и при публикации. Отмена и смена документа отвергают устаревший результат.

Проверки и измерения

  • 1222 проверки ядра и 881 GUI-проверка прошли без ошибок; полные штатные
    CLI/GUI-сборки. Новый набор --edge: 38 проверок, 32 повтора FRF с очисткой
    кэша без replay, 240 параллельных DFT/trim, рост/ошибки/занятость исполнителя.
  • Повторный реальный файл 1 024 104 009 байт, N=6 832 000: 29 проверок при
    Manual 64 MiB и process commit cap 128 MiB, включая полный disk FFT и
    анализ участка. Полный disk FFT 46,22 с, Peak WS 23,96 MiB.
  • Новое чередующееся сравнение с точной 0.16.7: 22 численных случая, три серии
    по первому вызову и пяти повторам; 17 933 600 скалярных значений дампов
    побитово равны, ошибка 0, несовпадений NaN/Inf нет. Два парных GUI-прогона
    реального файла также дали побитово равные полные FFT и FRF-дампы.
Реальная запись 1,024 ГБ; RAM 0.16.7, с rc.3-код, Auto, с
Открытие 33,4561 33,7349
FFT одного канала 2,8660 2,7670
Первый H1 семи откликов, L=2048 3,1369 1,7545
Повтор H1 2,9043 0,9776

Это времена действий, включая подготовку, не только FFT-ядра. Пик WS полного
RAM-сценария практически одинаков: 1669,56/1670,42 MiB. Не все показатели
ускорились: Direct практически равен, нестепенной FFT N=337132/C=7 показал
время +2,1%, zoom малого файла — около +5 мс. Небольшие различия могут быть шумом.

Синтетические ровно 10 000 000 000 байт, N=47 390 720, восемь каналов проверены
на ПК 32 GiB двумя путями. Auto: открытие 311,775 с, полный FFT одного канала
34,398 с, H1 семи откликов L=2048 14,114/повтор 6,207 с, Peak WS 12063,17 MiB.
Manual 64 MiB с hard process commit cap 128 MiB: 46 проверок, открытие 411,887 с,
FFT 319,399 с, H1 211,356 с, Peak WS 32,3594 MiB. Ошибки контрольных бинов FFT
≤5,603e-11, H1/coherence ≤9,833e-16. Настройки mean/кэш различались; это
функциональные испытания, не изолированный парный бенчмарк FFT. Последующий
аудит владения/Fs использовал targeted и реальные 1 ГБ проверки, без нового
прогона 10 ГБ. Измерения получены на исходниках до добавления релизной метки.

Ограничения и поставка

Физический ПК с 8 GiB и слабый CPU не испытаны; Windows Job не заменяет их.
Новый приоритет — записи до 10 GB; 20 GB исключены из текущих испытаний.
Auto не занимает всю физическую память и не является жёстким пределом процесса:
GDI и часть истории вне ledger. Дисковый FFT требует scratch и времени; допуск
scratch до 64 GiB, GUI overview до 1 GiB в общем LRU 2 GiB/256 элементов.
Индекс 8N и дерево могут превысить квоту даже у файла ≤10 GB. Большие Direct/Auto
L могут вернуть ResourceLimit; N/L не сокращаются. Прогрев дальнего фильтра/Snap
и широкий синхронный FFT-Snap могут быть медленными. Дисковый спектр сохраняет
полилинии без визуального сплайна/символов; CLI не получил потоковый загрузчик.
Сопоставимого нового замера FAMOS или обеих версий на 10 GB нет.

В поставке: готовый GUI Windows x64 и SHA256SUMS.txt. Документация,
GPLv3 LICENSE и исходники доступны в репозитории. Версия остаётся предварительной;
0.16.7 сохраняется стабильным выпуском. Новый тег не заменяет старые.

English

Prerelease dated October 14, 2026. Includes all changes since v0.17.0-rc.2:
graph/settings fixes, adaptation to available RAM/commit and CPU resources,
faster repeated FRF, and edge-case protection. When admission permits, the
application uses RAM; otherwise it opens the complete source and reads blocks.
File size alone no longer forces disk storage. The shared Entire recording /
Interval / Use visible interval analysis area remains unchanged.

Viewing, time and settings

  • Fixed faint/discontinuous dense Signal and disk Spectrum plots. Dense views
    use solid lines and finite extrema ranges without connecting resolved gaps
    or invalid samples. Narrow gap markers no longer tint the full plot orange.
  • A compatible previous projection remains visible while refinement runs.
    Four immutable viewports use a bounded LRU; revisiting can avoid leaf reads.
  • AMSOIDX2 stores exact original timestamps: 8N bytes plus 24 bytes per leaf.
    The global GUI step, exact Cadence, gap cards and FFT timeline passes use the
    binary index instead of reparsing text. Managed old indexes rebuild once.
  • Disk-source gap stitching is available. Continuous-interval anchors preserve
    short intervals after large outages; zoom, pan, drag and Snap share the
    displayed axis. Samples, analysis and export retain actual timestamps;
    envelopes never replace numerical input.
  • Fixed the Auto checkbox. Settings separately show Data + analysis admission,
    accounted memory, process RAM and private commit.

Adaptive memory, reading and analysis

  • Auto uses min(available RAM, commit), reserving 20% for the system, at least
    512 MiB when enough is free, or half under pressure. Removed the 8 GiB Auto,
    2 GiB loading and additional 384 MiB GUI caps. Manual 64–65536 MiB retains
    the same system headroom.
  • The 512 MiB threshold selects discovery rather than forced disk storage.
    One complete metadata pass may collect original time/raw X/channels into RAM.
    The candidate including vector growth is limited to one third of available
    admission; failure releases it and continues full-source opening.
  • FFT/FRF estimate input, preparation, work arrays, plans and results. Failed
    RAM FFT admission/allocation releases the candidate before exact disk retry.
    Power-of-two/arbitrary lengths, N/L, grids, interpolation, DC removal,
    scaling, gap rules, H1/coherence and weak-input masks are preserved.
  • Windows selects physical cores within affinity. One lazy shared executor
    grows to at most 32 participants, constrained by work and memory. Small jobs,
    a busy pool or insufficient parallel admission use the sequential path.
    Welch overlap, shared averaged-reference FFT and Sxx/Syy/Sxy order remain.
  • One FRF prepared input is retained within budget/3 RAM and 256 MiB disk,
    without an additional complete copy. With known exact N, admitted replay
    prepares directly in RAM without an intermediate disk snapshot. Repeated H1
    reuses preparation while recalculating the result.
  • Idle view/FRF caches, inactive results and FFT plans yield to new jobs.
    Registry/pins protect active Bluestein plans. Lower budgets demote complete
    replayable documents while preserving ranges, processing, annotations,
    numerical revision and original Fs. Partial/non-replayable documents are
    preserved; cancellation keeps live ownership until completion.
  • Windows CLI receives adaptive numerical admission, moves a whole selected
    Dataset and releases the unused original. Loading remains resident. The
    external numerical API retains a conservative 384 MiB default; GUI/Windows
    CLI provide explicit allowances.

Edge-case fixes

  • A separate cache_epoch prevents old FRF preparation from refilling cleared
    or reduced retention. Queued cached requests immediately own shared
    PreparedFrf, so eviction cannot remove their input before execution.
  • Exact expected_samples mismatches return SourceChanged for both RAM and disk
    FRF preparation; temporary files and reservations are released.
  • Unexpected disk-fallback FFT exceptions no longer terminate the process;
    failure to allocate error text is also caught and the worker remains usable.
  • Demotion before initial Fs evaluation freezes the full resident timeline's
    step, including inactive documents, rather than using two seed samples.
  • Source version is checked for RAM FFT around computation and publication;
    cancellation/document switching reject stale results.

Validation and measurements

  • 1222 core and 881 GUI checks passed; complete standard CLI/GUI builds.
    The new --edge suite has 38 checks, 32 queued FRF repetitions with immediate
    eviction/no replay, 240 concurrent DFT/trim operations and executor faults.
  • Repeated real 1,024,104,009-byte, N=6,832,000 validation: 29 checks under
    Manual 64 MiB and a 128 MiB process commit cap, including full disk FFT and
    interval analysis. Full disk FFT took 46.22 s with Peak WS 23.96 MiB.
  • A fresh alternating comparison with exact 0.16.7 used 22 numerical cases,
    three rounds of first call plus five repeats. All 17,933,600 dumped scalars
    match bitwise, maximum error 0, no NaN/Inf mismatches. Two paired real-file
    GUI runs also produced bitwise identical complete FFT/FRF dumps.
Real 1.024 GB recording; RAM 0.16.7, s rc.3 code, Auto, s
Opening 33.4561 33.7349
One-channel FFT 2.8660 2.7670
First seven-response H1, L=2048 3.1369 1.7545
Repeated H1 2.9043 0.9776

These are action times including preparation, not isolated FFT kernel timings.
Full RAM-scenario Peak WS is almost equal: 1669.56/1670.42 MiB. Speedup is not
universal: Direct is essentially equal, arbitrary-length N=337132/C=7 FFT took
2.1% longer, and small-file zoom about 5 ms longer. Small differences may be noise.

An existing synthetic file of exactly 10,000,000,000 bytes, N=47,390,720 and
eight channels was validated on 32 GiB hardware through both paths. Auto:
opening 311.775 s, full one-channel FFT 34.398 s, seven-response H1 L=2048
14.114 s / repeat 6.207 s, Peak WS 12063.17 MiB. Manual 64 MiB with a hard
128 MiB process commit cap: 46 checks, opening 411.887 s, FFT 319.399 s,
H1 211.356 s, Peak WS 32.3594 MiB. Excited-bin errors: FFT ≤5.603e-11,
H1/coherence ≤9.833e-16. Mean/cache settings differed; these are functional
tests, not an isolated paired FFT benchmark. The subsequent ownership/Fs audit
used targeted and real 1 GB checks without rerunning 10 GB. Measurements used
the source before the release version label was added.

Limits and distribution

Physical 8 GiB hardware and a weak CPU were not tested; Windows Job limits are
not a substitute. Current priority is recordings up to 10 GB; 20 GB is excluded
from current tests. Auto does not consume all physical RAM and is not a hard
process cap: GDI and parts of history remain outside the ledger. Disk FFT needs
scratch and time; scratch admission is at most 64 GiB, GUI overview at most
1 GiB within the shared 2 GiB/256-entry LRU. The 8N index/tree can exceed its
quota even for files ≤10 GB. Large Direct/Auto L can return ResourceLimit;
N/L are never silently reduced. Distant filter/Snap warm-up and wide synchronous
FFT-Snap may be slow. Disk spectra retain polylines without visual splines or
symbols; CLI has no streaming loader. There is no new comparable FAMOS or
two-version 10 GB benchmark.

Distribution: ready-to-run Windows x64 GUI and SHA256SUMS.txt. Documentation,
GPLv3 LICENSE and source code are available in the repository. This remains a
prerelease; 0.16.7 stays the stable release. Existing tags are not replaced.