FFMPEG-V2 / reportsView source ↗
Historical lab document. Original machine, code and acceptance scope apply. Private paths are redacted; this is not a fresh public 0.6.1 benchmark. Read the latest outcome and public configuration.

Phase 9 — HD ও raw-input performance investigation

৪ নভেম্বর ২০২৬। Maintainer: Jillur Rahman।

Performance fix গৃহীত হয়নি; installed 0.6.0 বহাল। একাধিক বাস্তব optimization compile/run করা হয়েছে। Quality বজায় থাকলেও independent speed gate পেরোয়নি। Phase 9-এর মূল faster-than-Stock লক্ষ্য এখনো সম্পন্ন বলা যাচ্ছে না।

Cold audit সম্পন্ন: 329টি actual encoding run, 457,200 encoded frames, দুই Python runtime-এ 136টি করে test, fresh configured installed MCP checks এবং 20টি owned state database-এ শূন্য active job। Machine-readable verification index-এ original evidence paths ও SHA-256 retained।

বর্তমান unchanged 0.6.0 বনাম একই tuning-এর Stock

Workload Native median Stock median Native slowdown Whole-block 95% ratio interval
60s 1080p complete workflow 20.253467s 18.729960s +8.13% 1.002463–1.095704
30s raw → x264 encoding 7.931870s 7.477305s +6.08% 0.998554–1.277643

HD-তে ৩টি ABBA/BAAB block-এ ৬টি measured run/engine এবং ১টি excluded warmup/engine; মোট ১৪টি complete jobs। Raw-তে ৪ block, ৮ measured run/engine ও excluded warmups; মোট ১৮ encodes। Native ও Stock-এ lookahead 2-সহ সব encoder settings এক; HD-র সব published output পুরোনো quality-approved SHA-এর হুবহু সমান। Raw-ও retained reference output-এর exact SHA দিয়েছে।

এই HD study-তে Native ধীর ছিল; interval-ও 1-এর উপরে। Raw interval equality পার করেছে। উভয় target-এর gap-closed gate fail। আগের +9.53%/+4.44% এবং বর্তমান +8.13%/+6.08% ভিন্ন host epoch-এর ফল; production code অপরিবর্তিত থাকায় এই percentage change-কে নতুন code speedup ধরা যাবে না। Absolute seconds-ও ভিন্ন epoch-এর সঙ্গে সরাসরি speed claim-এর জন্য মেশানো যাবে না। ছোট block count-এর scope বজায় আছে।

Baseline ও পদ্ধতি

Frozen SDK v0.6.0 / a8e44c8a725eb20279072654e5f5a35b7e961a8e; active local release 0.6.0-fc5c8de8ba2a58f7। Native source b6e0de6e580ae325d5b12df79dddd364ccf11efb, same M4 Max build ও Homebrew Stock 9.0.2। দুই engine একই x264 library ব্যবহার করেছে। Target BBB 1920×1080/30fps-এর 60–120s এবং তার 60–90s-এর retained raw reference। Raw reference 900 frames/2,799,360,000 bytes; নতুন duplicate raw তৈরি হয়নি।

Encoder/decoder/filter/validation pools 8/2/2/8, CRF 20, veryfast, native geometry, software decode/filter অপরিবর্তিত। যে experiment lookahead বদলেছে, Stock control-ও একই lookahead নিয়েছে। Native-only queue depth experiment আলাদা implementation control; Stock-এ unsupported flag পাঠিয়ে সমতুল্য queue দাবি করা হয়নি।

Initial warmup excluded, সব slow trial retained। Native/Stock adjacent ABBA/BAAB blocks; HD candidate confirmation-এ baseline Native/candidate Native/candidate Stock-এর rotated symmetric blocks। 20,000 bootstrap draws-এ পুরো adjacent block resample হয়েছে। ভিন্ন epoch একত্র করে দ্রুততম ফল বাছা হয়নি। HD full workflow-তে planning, encode, strict complete decode, hash ও atomic publish অন্তর্ভুক্ত; raw diagnostic encoding stage মাত্র।

কোনো code change ছাড়াই baseline-এর ফল বদলেছে

Epoch / workload Native/Stock median ratio Slowdown Block-bootstrap 95% interval
প্রথম reproduction, HD encoding 1.082596 +8.26% 0.9927–1.1679
পরের filter study-এর unchanged HD control 0.925943 −7.41% 0.9242–0.9372
Probe study-এর unchanged HD control 0.997339 −0.27% 0.9427–1.0134
প্রথম reproduction, raw encoding 0.987311 −1.27% 0.9446–1.0565
Independent raw confirmation, 8 runs/engine 1.060793 +6.08% 0.9986–1.2776

প্রথম reproduction-এ HD retired-instruction ratio 0.99166, cycle ratio 0.99708 ও CPU-seconds ratio 0.99816, তবু elapsed ratio 1.08260। একই code-এর অন্য epoch-এ CPU time ও elapsed time দুটোই অনেক বদলেছে। এগুলো busy-host execution/scheduling state-এর প্রভাব দেখায়। নির্দিষ্ট thermal, frequency, অন্য application বা একটি C function-এর causal শতাংশ প্রতিষ্ঠা হয়নি। পুরোনো +9.53% ও +4.44% ফল retained; নতুন run দিয়ে মুছে ফেলা হয়নি।

বাস্তবে চেষ্টা করা optimization

পরিবর্তন ফল সিদ্ধান্ত
Identity scale সরানো Exact same encoded SHA; HD native median 4.911→5.131s লাভ প্রমাণিত নয়; default retained
Stream probing বাদ দেওয়া Same output; HD/raw throughput লাভ দেখায়নি Input probing retained
Scheduler frame queues 2/4/8/16 80 runs; queue 16 HD/raw ratios 0.9971/0.9908, intervals equality পার করে Native candidate unpromoted; original queue 2 retained
x264 lookahead threads 2→1 Calibration HD −8.85%, raw +19.02% HD-only candidate স্বাধীনভাবে যাচাই করা হয়েছে
Lookahead 1 ও sync-lookahead 0 Calibration HD +4.17%, raw +21.77% নির্বাচিত হয়নি

Queue candidate decoder hardware-pool extra-frame accounting-ও একই capacity অনুযায়ী বদলায়। শুধু queue বড় করে fixed hardware frame pool-এর হিসাব ভাঙা হয়নি। Candidate default 2 ছিল; পরীক্ষায় explicit 4/8/16 দেওয়া হয়েছে। এটি নতুন production engine নয়; original source/build/install অপরিবর্তিত। Experimental incremental build baseline-এর generated version header reuse করেছে; candidate-এর পরিচয় source commit/patch/binary SHA, নতুন release banner নয়।

HD lookahead candidate-এর independent complete workflow

প্রতি configuration ১টি excluded warmup ও ১০টি measured run; ৫টি symmetric block, মোট ৩৩টি actual jobs। Calibration-এর দ্রুত ফল production improvement হিসেবে ব্যবহৃত হয়নি।

Configuration Total median Encode median Strict-decode median
Frozen 0.6.0 Native, lookahead 2 13.0545s 11.0271s 1.6389s
Experimental Native, lookahead 1 18.2682s 15.6844s 1.8691s
Matching Stock, lookahead 1 15.3995s 12.9092s 1.8737s

Candidate/frozen Native ratio 1.399376, paired 95% 1.1583–1.6227: এই run set-এ candidate 39.94% ধীর। Candidate/matching Stock ratio 1.186288, interval 0.9772–1.4210। Candidate-কে দ্রুততর default করা যাবে না। Frozen Native এবং lookahead-1 Stock-এর tuning আলাদা; ওই দুই row দিয়ে default-এর same-tuning Stock advantage দাবি করা যাবে না।

All-frame quality / size Candidate বনাম frozen Native Gate
Frames 1,800 / 1,800 Pass
VMAF delta −0.008504 Pass, ≥−0.10
PSNR-Y delta −0.000460dB Pass, ≥−0.05dB
SSIM delta +0.000002 Pass, ≥−0.00001
Size ratio 0.998895, অর্থাৎ 0.1105% কম Pass, ≤1.02
Independent speed +39.94% slower Fail

Native ও matching Stock-এর candidate output SHA এক। নতুন candidate-এর metric সব frame-এ নতুন করে মাপা হয়েছে; আলাদা encoded SHA-এর জন্য পুরোনো VMAF reuse করা হয়নি। Quality pass speed gate-কে বাতিল করে না।

Verification ও release action

Check ফল
Python 3.9.6 136 tests pass
Python 3.14.7 136 tests pass
Default memory-policy controls Task waiver সরিয়ে test করা হয়েছে
Fresh configured installed MCP Handshake-এর 8 tools, queue/worker/output, cancel, priority, mix, schema/path/budget refusals pass
Retained media 329 encoding output cold SHA-256 audit pass
Owned queue states 20 databases checked, 0 queued/running/validating/waiting job
Production package Frozen 0.6.0 allowlist-এর byte hashes unchanged
Native install ও dependencies Cold selected 38-file engine verification pass
New performance release হয়নি; কোনো candidate speed gate পেরোয়নি

নতুন native patch promote হয়নি বলে নতুন GPU/FATE acceptance বা নতুন binary release দাবি করা হয়নি। Installed release/code-engine pair একই verified 0.6.0; Phase 9-এ rollback করার মতো activation হয়নি। Source-এ গবেষণা, reproducible runners, statistical tests ও unpromoted patches যোগ হয়েছে।

Root-cause অনুসন্ধান কী প্রতিষ্ঠা করেছে

Actual x264 open-এ দুই engine-এ frame threads 8, lookahead 2, sync depth 4, RC lookahead 10, CPU dispatch 202। Worker QoS 21 ও priority 31; প্রথম picture strides 1920/960/960 এবং plane alignment modulo 128 সব শূন্য। এসবের মধ্যে Native/Stock mismatch পাওয়া যায়নি।

সব frame-এর দ্বিতীয় observer-এ raw input-এর call-between gap Native/Stock 0.025730/0.028382s, x264-call total 4.708488/4.449275s। এই sample-এ Native-এর অতিরিক্ত সময় প্রধানত একই x264 implementation-এর call-এর ভেতরে ছিল। Serialized raw feed/frame-copy bottleneck-এর সমর্থন মেলেনি। Call wall time worker execution ও wait একসঙ্গে ধরে; CPU availability বনাম synchronization-এর causal ভাগ প্রতিষ্ঠা হয়নি। HD sample-এ আবার Native দ্রুত ছিল। Instrumented timings final performance ফল নয়।

বর্তমান সীমা ও পরবর্তী প্রয়োজন

নির্ভরযোগ্যভাবে 9.53% ও 4.44% অপসারণ দাবি করা যাচ্ছে না। কোনো experimental default activate হয়নি, নতুন performance version/tag প্রকাশ হয়নি। বেশি queue বা কম lookahead-কে generic speed fix করার evidence নেই। Controlled CPU-load replay এবং per-worker execution/wait accounting ছাড়া busy-host tail-এর কোন অংশ Native code দিয়ে ঠিক করা যাবে তা অমীমাংসিত। এই report-এ system scheduling-কে একমাত্র নিশ্চিত কারণ বলা হয়নি।

পূর্ণ research ও প্রথম-party সূত্র, মূল gate register, queue experiment patch, lookahead experiment patch। সব media/build data mounted <LAB_ROOT>/ffmpeg-v2-phase9-এ retained; original assets ও installed release preserved।