Performance: Avoid Set and Object.values overhead in hot loops#174
Performance: Avoid Set and Object.values overhead in hot loops#174ysdede wants to merge 1 commit into
Conversation
Replaced `Object.values()` and `Set` in the `_runCombinedStep` hot loop with a `for...in` loop and `Array.prototype.includes()`. This avoids intermediate array allocations and the instantiation/hashing overhead of `Set` for very small collections, improving decoder throughput and reducing GC pauses.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
📝 WalkthroughWalkthroughPerformance optimization in ChangesV8 Performance Optimization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- Committing
profile.cpuprofileto the repo adds a heavyweight profiling artifact to source control; consider removing it from the PR and adding it to.gitignoreinstead. - The switch from
Setto an array withincludesintroduces O(n²) behavior if the number of tensors ever grows; if that’s a possibility, consider guarding this with a comment or a fallback toSetwhen the collection exceeds a small fixed size.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Committing `profile.cpuprofile` to the repo adds a heavyweight profiling artifact to source control; consider removing it from the PR and adding it to `.gitignore` instead.
- The switch from `Set` to an array with `includes` introduces O(n²) behavior if the number of tensors ever grows; if that’s a possibility, consider guarding this with a comment or a fallback to `Set` when the collection exceeds a small fixed size.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Code Review
This pull request optimizes performance in hot loops within src/parakeet.js by replacing Set and Object.values() with arrays and for...in loops to reduce garbage collection overhead in V8. These changes are documented in .jules/bolt.md. Feedback suggests removing the committed profile.cpuprofile file and refactoring the failDecoderStep helper to avoid closure allocations in high-frequency execution paths.
| @@ -0,0 +1 @@ | |||
| {"nodes":[{"id":1,"callFrame":{"functionName":"(root)","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":0,"children":[2,3,27,33,54,73,106,351,369,374,379,381]},{"id":2,"callFrame":{"functionName":"(program)","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":76},{"id":3,"callFrame":{"functionName":"","scriptId":"77","url":"node:internal/main/run_main_module","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[4,11]},{"id":4,"callFrame":{"functionName":"prepareMainThreadExecution","scriptId":"71","url":"node:internal/process/pre_execution","lineNumber":51,"columnNumber":35},"hitCount":0,"children":[5]},{"id":5,"callFrame":{"functionName":"prepareExecution","scriptId":"71","url":"node:internal/process/pre_execution","lineNumber":95,"columnNumber":25},"hitCount":0,"children":[6]},{"id":6,"callFrame":{"functionName":"patchProcessObject","scriptId":"71","url":"node:internal/process/pre_execution","lineNumber":247,"columnNumber":27},"hitCount":0,"children":[7]},{"id":7,"callFrame":{"functionName":"addReadOnlyProcessAlias","scriptId":"71","url":"node:internal/process/pre_execution","lineNumber":304,"columnNumber":32},"hitCount":0,"children":[8]},{"id":8,"callFrame":{"functionName":"getOptionValue","scriptId":"14","url":"node:internal/options","lineNumber":94,"columnNumber":23},"hitCount":0,"children":[9]},{"id":9,"callFrame":{"functionName":"getCLIOptionsFromBinding","scriptId":"14","url":"node:internal/options","lineNumber":27,"columnNumber":33},"hitCount":0,"children":[10]},{"id":10,"callFrame":{"functionName":"getCLIOptionsValues","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":29,"ticks":1}]},{"id":11,"callFrame":{"functionName":"executeUserEntryPoint","scriptId":"73","url":"node:internal/modules/run_main","lineNumber":156,"columnNumber":30},"hitCount":0,"children":[12]},{"id":12,"callFrame":{"functionName":"runEntryPointWithESMLoader","scriptId":"73","url":"node:internal/modules/run_main","lineNumber":137,"columnNumber":35},"hitCount":0,"children":[13]},{"id":13,"callFrame":{"functionName":"asyncRunEntryPointWithESMLoader","scriptId":"73","url":"node:internal/modules/run_main","lineNumber":104,"columnNumber":46},"hitCount":0,"children":[14,17]},{"id":14,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[15]},{"id":15,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[16]},{"id":16,"callFrame":{"functionName":"","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":0,"columnNumber":0},"hitCount":1,"positionTicks":[{"line":33,"ticks":1}]},{"id":17,"callFrame":{"functionName":"","scriptId":"73","url":"node:internal/modules/run_main","lineNumber":175,"columnNumber":31},"hitCount":0,"children":[18]},{"id":18,"callFrame":{"functionName":"import","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":661,"columnNumber":14},"hitCount":0,"children":[19]},{"id":19,"callFrame":{"functionName":"tracePromise","scriptId":"29","url":"node:diagnostics_channel","lineNumber":347,"columnNumber":14},"hitCount":0,"children":[20]},{"id":20,"callFrame":{"functionName":"onImport.tracePromise.__proto__","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":662,"columnNumber":33},"hitCount":0,"children":[21]},{"id":21,"callFrame":{"functionName":"getModuleJobForImport","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":308,"columnNumber":29},"hitCount":0,"children":[22]},{"id":22,"callFrame":{"functionName":"resolve","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":698,"columnNumber":9},"hitCount":1,"children":[23],"positionTicks":[{"line":712,"ticks":1}]},{"id":23,"callFrame":{"functionName":"#cachedDefaultResolve","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":722,"columnNumber":23},"hitCount":0,"children":[24]},{"id":24,"callFrame":{"functionName":"defaultResolve","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":939,"columnNumber":23},"hitCount":0,"children":[25]},{"id":25,"callFrame":{"functionName":"moduleResolve","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":826,"columnNumber":22},"hitCount":0,"children":[26]},{"id":26,"callFrame":{"functionName":"finalizeResolution","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":228,"columnNumber":27},"hitCount":1,"positionTicks":[{"line":230,"ticks":1}]},{"id":27,"callFrame":{"functionName":"getModuleJobForImport","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":308,"columnNumber":29},"hitCount":0,"children":[28]},{"id":28,"callFrame":{"functionName":"#getJobFromResolveResult","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":336,"columnNumber":26},"hitCount":0,"children":[29]},{"id":29,"callFrame":{"functionName":"#createModuleJob","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":615,"columnNumber":18},"hitCount":0,"children":[30,32]},{"id":30,"callFrame":{"functionName":"loadAndTranslate","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":592,"columnNumber":18},"hitCount":0,"children":[31,34]},{"id":31,"callFrame":{"functionName":"load","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":804,"columnNumber":6},"hitCount":1,"children":[89],"positionTicks":[{"line":815,"ticks":1}]},{"id":89,"callFrame":{"functionName":"defaultLoad","scriptId":"85","url":"node:internal/modules/esm/load","lineNumber":61,"columnNumber":20},"hitCount":0,"children":[90]},{"id":90,"callFrame":{"functionName":"getSourceSync","scriptId":"85","url":"node:internal/modules/esm/load","lineNumber":35,"columnNumber":22},"hitCount":0,"children":[91]},{"id":91,"callFrame":{"functionName":"readFileSync","scriptId":"46","url":"node:fs","lineNumber":432,"columnNumber":21},"hitCount":0,"children":[92]},{"id":92,"callFrame":{"functionName":"tryReadSync","scriptId":"46","url":"node:fs","lineNumber":411,"columnNumber":20},"hitCount":0,"children":[93]},{"id":93,"callFrame":{"functionName":"readSync","scriptId":"46","url":"node:fs","lineNumber":694,"columnNumber":17},"hitCount":0,"children":[94]},{"id":94,"callFrame":{"functionName":"wrappedFn","scriptId":"7","url":"node:internal/errors","lineNumber":534,"columnNumber":20},"hitCount":0,"children":[95]},{"id":95,"callFrame":{"functionName":"","scriptId":"53","url":"node:internal/fs/utils","lineNumber":675,"columnNumber":2},"hitCount":1,"positionTicks":[{"line":684,"ticks":1}]},{"id":34,"callFrame":{"functionName":"afterLoad","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":594,"columnNumber":22},"hitCount":0,"children":[35]},{"id":35,"callFrame":{"functionName":"#translate","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":537,"columnNumber":12},"hitCount":0,"children":[36,38,96]},{"id":36,"callFrame":{"functionName":"moduleStrategy","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":100,"columnNumber":49},"hitCount":0,"children":[37]},{"id":37,"callFrame":{"functionName":"compileSourceTextModule","scriptId":"70","url":"node:internal/modules/esm/utils","lineNumber":343,"columnNumber":32},"hitCount":5,"positionTicks":[{"line":346,"ticks":5}]},{"id":38,"callFrame":{"functionName":"builtinStrategy","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":405,"columnNumber":51},"hitCount":0,"children":[39]},{"id":39,"callFrame":{"functionName":"getESMFacade","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":347,"columnNumber":14},"hitCount":0,"children":[40]},{"id":40,"callFrame":{"functionName":"evaluate","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":0,"children":[41]},{"id":41,"callFrame":{"functionName":"","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":357,"columnNumber":14},"hitCount":0,"children":[42]},{"id":42,"callFrame":{"functionName":"syncExports","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":372,"columnNumber":13},"hitCount":0,"children":[43]},{"id":43,"callFrame":{"functionName":"getOwn","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":204,"columnNumber":15},"hitCount":0,"children":[44]},{"id":44,"callFrame":{"functionName":"get ReadStream","scriptId":"46","url":"node:fs","lineNumber":3313,"columnNumber":16},"hitCount":0,"children":[45]},{"id":45,"callFrame":{"functionName":"lazyLoadStreams","scriptId":"46","url":"node:fs","lineNumber":3134,"columnNumber":24},"hitCount":0,"children":[46]},{"id":46,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[47]},{"id":47,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[48]},{"id":48,"callFrame":{"functionName":"","scriptId":"89","url":"node:internal/fs/streams","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[49]},{"id":49,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[50]},{"id":50,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":1,"children":[51,55],"positionTicks":[{"line":397,"ticks":1}]},{"id":51,"callFrame":{"functionName":"","scriptId":"91","url":"node:internal/fs/promises","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[52]},{"id":52,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[53]},{"id":53,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":1,"positionTicks":[{"line":397,"ticks":1}]},{"id":55,"callFrame":{"functionName":"","scriptId":"99","url":"node:stream","lineNumber":0,"columnNumber":0},"hitCount":1,"children":[56],"positionTicks":[{"line":95,"ticks":1}]},{"id":56,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[57]},{"id":57,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[58]},{"id":58,"callFrame":{"functionName":"","scriptId":"100","url":"node:internal/streams/operators","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[59]},{"id":59,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[60]},{"id":60,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[61]},{"id":61,"callFrame":{"functionName":"","scriptId":"103","url":"node:internal/streams/compose","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[62]},{"id":62,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[63]},{"id":63,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[64]},{"id":64,"callFrame":{"functionName":"","scriptId":"104","url":"node:internal/streams/pipeline","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[65]},{"id":65,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[66]},{"id":66,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[67]},{"id":67,"callFrame":{"functionName":"","scriptId":"105","url":"node:internal/streams/duplex","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[68]},{"id":68,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[69]},{"id":69,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[70]},{"id":70,"callFrame":{"functionName":"","scriptId":"107","url":"node:internal/streams/readable","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[71]},{"id":71,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[72]},{"id":72,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":1,"positionTicks":[{"line":397,"ticks":1}]},{"id":96,"callFrame":{"functionName":"commonjsStrategy","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":298,"columnNumber":53},"hitCount":0,"children":[97,100]},{"id":97,"callFrame":{"functionName":"initCJSParseSync","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":78,"columnNumber":25},"hitCount":0,"children":[98]},{"id":98,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[99]},{"id":99,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":1,"positionTicks":[{"line":397,"ticks":1}]},{"id":100,"callFrame":{"functionName":"createCJSModuleWrap","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":181,"columnNumber":28},"hitCount":0,"children":[101]},{"id":101,"callFrame":{"functionName":"cjsPreparseModuleExports","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":347,"columnNumber":33},"hitCount":0,"children":[102]},{"id":102,"callFrame":{"functionName":"parseCJS","scriptId":"123","url":"node:internal/deps/cjs-module-lexer/lexer","lineNumber":39,"columnNumber":18},"hitCount":1,"children":[103,104],"positionTicks":[{"line":43,"ticks":1}]},{"id":103,"callFrame":{"functionName":"resetState","scriptId":"123","url":"node:internal/deps/cjs-module-lexer/lexer","lineNumber":16,"columnNumber":20},"hitCount":1,"positionTicks":[{"line":25,"ticks":1}]},{"id":104,"callFrame":{"functionName":"parseSource","scriptId":"123","url":"node:internal/deps/cjs-module-lexer/lexer","lineNumber":84,"columnNumber":21},"hitCount":3,"children":[105],"positionTicks":[{"line":228,"ticks":1},{"line":170,"ticks":1},{"line":119,"ticks":1}]},{"id":105,"callFrame":{"functionName":"tryParseObjectDefineOrKeys","scriptId":"123","url":"node:internal/deps/cjs-module-lexer/lexer","lineNumber":332,"columnNumber":36},"hitCount":1,"positionTicks":[{"line":834,"ticks":1}]},{"id":32,"callFrame":{"functionName":"ModuleJob","scriptId":"87","url":"node:internal/modules/esm/module_job","lineNumber":132,"columnNumber":13},"hitCount":1,"positionTicks":[{"line":135,"ticks":1}]},{"id":33,"callFrame":{"functionName":"onImport.tracePromise.__proto__","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":662,"columnNumber":33},"hitCount":1,"positionTicks":[{"line":665,"ticks":1}]},{"id":54,"callFrame":{"functionName":"(garbage collector)","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":51},{"id":73,"callFrame":{"functionName":"_link","scriptId":"87","url":"node:internal/modules/esm/module_job","lineNumber":160,"columnNumber":13},"hitCount":0,"children":[74]},{"id":74,"callFrame":{"functionName":"getModuleJobForImport","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":308,"columnNumber":29},"hitCount":0,"children":[75]},{"id":75,"callFrame":{"functionName":"resolve","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":698,"columnNumber":9},"hitCount":0,"children":[76]},{"id":76,"callFrame":{"functionName":"#cachedDefaultResolve","scriptId":"78","url":"node:internal/modules/esm/loader","lineNumber":722,"columnNumber":23},"hitCount":0,"children":[77]},{"id":77,"callFrame":{"functionName":"defaultResolve","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":939,"columnNumber":23},"hitCount":0,"children":[78]},{"id":78,"callFrame":{"functionName":"moduleResolve","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":826,"columnNumber":22},"hitCount":0,"children":[79,83]},{"id":79,"callFrame":{"functionName":"finalizeResolution","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":228,"columnNumber":27},"hitCount":0,"children":[80,82]},{"id":80,"callFrame":{"functionName":"realpathSync","scriptId":"46","url":"node:fs","lineNumber":2714,"columnNumber":21},"hitCount":0,"children":[81]},{"id":81,"callFrame":{"functionName":"getOptions","scriptId":"53","url":"node:internal/fs/utils","lineNumber":319,"columnNumber":19},"hitCount":1,"positionTicks":[{"line":340,"ticks":1}]},{"id":82,"callFrame":{"functionName":"get pathname","scriptId":"37","url":"node:internal/url","lineNumber":1078,"columnNumber":14},"hitCount":1,"positionTicks":[{"line":1083,"ticks":1}]},{"id":83,"callFrame":{"functionName":"packageResolve","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":761,"columnNumber":23},"hitCount":0,"children":[84]},{"id":84,"callFrame":{"functionName":"legacyMainResolve","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":198,"columnNumber":26},"hitCount":0,"children":[85]},{"id":85,"callFrame":{"functionName":"emitLegacyIndexDeprecation","scriptId":"82","url":"node:internal/modules/esm/resolve","lineNumber":126,"columnNumber":35},"hitCount":0,"children":[86]},{"id":86,"callFrame":{"functionName":"defaultGetFormatWithoutErrors","scriptId":"83","url":"node:internal/modules/esm/get_format","lineNumber":226,"columnNumber":38},"hitCount":0,"children":[87]},{"id":87,"callFrame":{"functionName":"getFileProtocolModuleFormat","scriptId":"83","url":"node:internal/modules/esm/get_format","lineNumber":110,"columnNumber":36},"hitCount":0,"children":[88]},{"id":88,"callFrame":{"functionName":"getPackageScopeConfig","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":206,"columnNumber":30},"hitCount":1,"positionTicks":[{"line":217,"ticks":1}]},{"id":106,"callFrame":{"functionName":"run","scriptId":"87","url":"node:internal/modules/esm/module_job","lineNumber":331,"columnNumber":11},"hitCount":0,"children":[107]},{"id":107,"callFrame":{"functionName":"evaluate","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":0,"children":[108,329]},{"id":108,"callFrame":{"functionName":"","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":197,"columnNumber":66},"hitCount":0,"children":[109]},{"id":109,"callFrame":{"functionName":"cjsLoader","scriptId":"81","url":"node:internal/modules/esm/translators","lineNumber":306,"columnNumber":37},"hitCount":0,"children":[110]},{"id":110,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[111,120]},{"id":111,"callFrame":{"functionName":"","scriptId":"13","url":"node:internal/util","lineNumber":782,"columnNumber":17},"hitCount":0,"children":[112]},{"id":112,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":216,"columnNumber":26},"hitCount":0,"children":[113]},{"id":113,"callFrame":{"functionName":"tracingChannel","scriptId":"29","url":"node:diagnostics_channel","lineNumber":432,"columnNumber":23},"hitCount":0,"children":[114]},{"id":114,"callFrame":{"functionName":"TracingChannel","scriptId":"29","url":"node:diagnostics_channel","lineNumber":283,"columnNumber":13},"hitCount":0,"children":[115]},{"id":115,"callFrame":{"functionName":"tracingChannelFrom","scriptId":"29","url":"node:diagnostics_channel","lineNumber":266,"columnNumber":27},"hitCount":0,"children":[116]},{"id":116,"callFrame":{"functionName":"channel","scriptId":"29","url":"node:diagnostics_channel","lineNumber":226,"columnNumber":16},"hitCount":0,"children":[117]},{"id":117,"callFrame":{"functionName":"Channel","scriptId":"29","url":"node:diagnostics_channel","lineNumber":181,"columnNumber":13},"hitCount":0,"children":[118]},{"id":118,"callFrame":{"functionName":"set","scriptId":"29","url":"node:diagnostics_channel","lineNumber":44,"columnNumber":5},"hitCount":0,"children":[119]},{"id":119,"callFrame":{"functionName":"WeakReference","scriptId":"13","url":"node:internal/util","lineNumber":877,"columnNumber":13},"hitCount":1,"positionTicks":[{"line":879,"ticks":1}]},{"id":120,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[121]},{"id":121,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[122]},{"id":122,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[123]},{"id":123,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[124]},{"id":124,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[125,226]},{"id":125,"callFrame":{"functionName":"","scriptId":"122","url":"file:///app/node_modules/wink-nlp/src/wink-nlp.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[126]},{"id":126,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[127]},{"id":127,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[128]},{"id":128,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[129]},{"id":129,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[130]},{"id":130,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[131]},{"id":131,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[132]},{"id":132,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[133,203]},{"id":133,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[134,145,146,205]},{"id":134,"callFrame":{"functionName":"","scriptId":"125","url":"file:///app/node_modules/wink-nlp/src/dd-wrapper.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[135]},{"id":135,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[136]},{"id":136,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[137]},{"id":137,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[138]},{"id":138,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[139]},{"id":139,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[140]},{"id":140,"callFrame":{"functionName":"resolveForCJSWithHooks","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1005,"columnNumber":31},"hitCount":0,"children":[141]},{"id":141,"callFrame":{"functionName":"defaultResolveImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1010,"columnNumber":29},"hitCount":0,"children":[142]},{"id":142,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1299,"columnNumber":34},"hitCount":0,"children":[143]},{"id":143,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":668,"columnNumber":27},"hitCount":0,"children":[144]},{"id":144,"callFrame":{"functionName":"resolveExports","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":639,"columnNumber":23},"hitCount":1,"positionTicks":[{"line":643,"ticks":1}]},{"id":145,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":2,"positionTicks":[{"line":1637,"ticks":2}]},{"id":146,"callFrame":{"functionName":"","scriptId":"127","url":"file:///app/node_modules/wink-nlp/src/doc-v2.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[147]},{"id":147,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[148]},{"id":148,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[149]},{"id":149,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[150,152]},{"id":150,"callFrame":{"functionName":"internalEndTimer","scriptId":"19","url":"node:internal/util/debuglog","lineNumber":423,"columnNumber":27},"hitCount":0,"children":[151]},{"id":151,"callFrame":{"functionName":"ensureTimerFlagsAreUpdated","scriptId":"19","url":"node:internal/util/debuglog","lineNumber":392,"columnNumber":37},"hitCount":1,"positionTicks":[{"line":397,"ticks":1}]},{"id":152,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[153]},{"id":153,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":1,"children":[154,193],"positionTicks":[{"line":1177,"ticks":1}]},{"id":154,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[155]},{"id":155,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":1,"children":[156,159],"positionTicks":[{"line":1838,"ticks":1}]},{"id":156,"callFrame":{"functionName":"getNearestParentPackageJSON","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":177,"columnNumber":36},"hitCount":0,"children":[157]},{"id":157,"callFrame":{"functionName":"findParentPackageJSON","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":141,"columnNumber":30},"hitCount":0,"children":[158]},{"id":158,"callFrame":{"functionName":"internalModuleStat","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":161,"ticks":1}]},{"id":159,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":1,"children":[160,199],"positionTicks":[{"line":1691,"ticks":1}]},{"id":160,"callFrame":{"functionName":"","scriptId":"140","url":"file:///app/node_modules/wink-nlp/src/api/itm-token-out.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[161]},{"id":161,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[162]},{"id":162,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[163]},{"id":163,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[164]},{"id":164,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[165]},{"id":165,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[166]},{"id":166,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[167]},{"id":167,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[168,172]},{"id":168,"callFrame":{"functionName":"loadSource","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1720,"columnNumber":19},"hitCount":0,"children":[169]},{"id":169,"callFrame":{"functionName":"defaultLoadImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1094,"columnNumber":24},"hitCount":0,"children":[170]},{"id":170,"callFrame":{"functionName":"readFileSync","scriptId":"46","url":"node:fs","lineNumber":432,"columnNumber":21},"hitCount":0,"children":[171]},{"id":171,"callFrame":{"functionName":"readFileUtf8","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":440,"ticks":1}]},{"id":172,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[173,183]},{"id":173,"callFrame":{"functionName":"","scriptId":"141","url":"file:///app/node_modules/wink-nlp/src/its.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[174]},{"id":174,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[175]},{"id":175,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[176]},{"id":176,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[177]},{"id":177,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[178]},{"id":178,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[179]},{"id":179,"callFrame":{"functionName":"resolveForCJSWithHooks","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1005,"columnNumber":31},"hitCount":0,"children":[180]},{"id":180,"callFrame":{"functionName":"defaultResolveImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1010,"columnNumber":29},"hitCount":0,"children":[181]},{"id":181,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1299,"columnNumber":34},"hitCount":0,"children":[182]},{"id":182,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":668,"columnNumber":27},"hitCount":1,"positionTicks":[{"line":768,"ticks":1}]},{"id":183,"callFrame":{"functionName":"","scriptId":"145","url":"file:///app/node_modules/wink-nlp/src/allowed.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[184]},{"id":184,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[185]},{"id":185,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[186]},{"id":186,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[187]},{"id":187,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[188]},{"id":188,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[189]},{"id":189,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[190]},{"id":190,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[191]},{"id":191,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[192]},{"id":192,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":1,"positionTicks":[{"line":1637,"ticks":1}]},{"id":199,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":1,"positionTicks":[{"line":1637,"ticks":1}]},{"id":193,"callFrame":{"functionName":"resolveForCJSWithHooks","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1005,"columnNumber":31},"hitCount":0,"children":[194]},{"id":194,"callFrame":{"functionName":"defaultResolveImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1010,"columnNumber":29},"hitCount":0,"children":[195]},{"id":195,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1299,"columnNumber":34},"hitCount":0,"children":[196]},{"id":196,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":668,"columnNumber":27},"hitCount":0,"children":[197,200]},{"id":197,"callFrame":{"functionName":"stat","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":250,"columnNumber":13},"hitCount":0,"children":[198]},{"id":198,"callFrame":{"functionName":"internalModuleStat","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":260,"ticks":1}]},{"id":200,"callFrame":{"functionName":"toRealPath","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":59,"columnNumber":19},"hitCount":0,"children":[201]},{"id":201,"callFrame":{"functionName":"realpathSync","scriptId":"46","url":"node:fs","lineNumber":2714,"columnNumber":21},"hitCount":0,"children":[202]},{"id":202,"callFrame":{"functionName":"lstat","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":2791,"ticks":1}]},{"id":205,"callFrame":{"functionName":"","scriptId":"162","url":"file:///app/node_modules/wink-nlp/src/examples-compiler.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[206]},{"id":206,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[207]},{"id":207,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[208]},{"id":208,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[209]},{"id":209,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[210]},{"id":210,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[211]},{"id":211,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[212]},{"id":212,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[213,216]},{"id":213,"callFrame":{"functionName":"getNearestParentPackageJSON","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":177,"columnNumber":36},"hitCount":0,"children":[214]},{"id":214,"callFrame":{"functionName":"findParentPackageJSON","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":141,"columnNumber":30},"hitCount":0,"children":[215]},{"id":215,"callFrame":{"functionName":"internalModuleStat","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":161,"ticks":1}]},{"id":216,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[217]},{"id":217,"callFrame":{"functionName":"","scriptId":"163","url":"file:///app/node_modules/wink-nlp/src/automaton.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[218]},{"id":218,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[219]},{"id":219,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[220]},{"id":220,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[221]},{"id":221,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[222]},{"id":222,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[223]},{"id":223,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[224]},{"id":224,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[225]},{"id":225,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":1,"positionTicks":[{"line":1681,"ticks":1}]},{"id":203,"callFrame":{"functionName":"getNearestParentPackageJSON","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":177,"columnNumber":36},"hitCount":0,"children":[204]},{"id":204,"callFrame":{"functionName":"findParentPackageJSON","scriptId":"69","url":"node:internal/modules/package_json_reader","lineNumber":141,"columnNumber":30},"hitCount":1,"positionTicks":[{"line":161,"ticks":1}]},{"id":226,"callFrame":{"functionName":"","scriptId":"124","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[227]},{"id":227,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[228]},{"id":228,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[229]},{"id":229,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[230]},{"id":230,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[231]},{"id":231,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[232,283]},{"id":232,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[233]},{"id":233,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[234]},{"id":234,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[235,257,269,270,290,301,309,319]},{"id":235,"callFrame":{"functionName":"","scriptId":"167","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/load-core-model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[236]},{"id":236,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[237]},{"id":237,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[238]},{"id":238,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[239]},{"id":239,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[240]},{"id":240,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[241]},{"id":241,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[242]},{"id":242,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[243]},{"id":243,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[244,245]},{"id":244,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":1,"positionTicks":[{"line":1637,"ticks":1}]},{"id":245,"callFrame":{"functionName":"","scriptId":"168","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/read-core-model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[246]},{"id":246,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[247]},{"id":247,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[248]},{"id":248,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[249]},{"id":249,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[250]},{"id":250,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[251]},{"id":251,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[252]},{"id":252,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1845,"columnNumber":38},"hitCount":14,"children":[253],"positionTicks":[{"line":1850,"ticks":14}]},{"id":253,"callFrame":{"functionName":"loadSource","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1720,"columnNumber":19},"hitCount":0,"children":[254]},{"id":254,"callFrame":{"functionName":"defaultLoadImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1094,"columnNumber":24},"hitCount":0,"children":[255]},{"id":255,"callFrame":{"functionName":"readFileSync","scriptId":"46","url":"node:fs","lineNumber":432,"columnNumber":21},"hitCount":8,"children":[256],"positionTicks":[{"line":440,"ticks":8}]},{"id":256,"callFrame":{"functionName":"readFileUtf8","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":6,"positionTicks":[{"line":440,"ticks":6}]},{"id":257,"callFrame":{"functionName":"","scriptId":"169","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/load-ner-model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[258]},{"id":258,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[259]},{"id":259,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[260]},{"id":260,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[261]},{"id":261,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[262]},{"id":262,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[263]},{"id":263,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[264]},{"id":264,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1845,"columnNumber":38},"hitCount":0,"children":[265]},{"id":265,"callFrame":{"functionName":"loadSource","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1720,"columnNumber":19},"hitCount":0,"children":[266]},{"id":266,"callFrame":{"functionName":"defaultLoadImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1094,"columnNumber":24},"hitCount":0,"children":[267]},{"id":267,"callFrame":{"functionName":"readFileSync","scriptId":"46","url":"node:fs","lineNumber":432,"columnNumber":21},"hitCount":0,"children":[268]},{"id":268,"callFrame":{"functionName":"readFileUtf8","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":440,"ticks":1}]},{"id":269,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":2,"positionTicks":[{"line":1637,"ticks":2}]},{"id":270,"callFrame":{"functionName":"","scriptId":"174","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/load-pos-model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[271]},{"id":271,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[272]},{"id":272,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[273]},{"id":273,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[274]},{"id":274,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[275]},{"id":275,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[276]},{"id":276,"callFrame":{"functionName":"resolveForCJSWithHooks","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1005,"columnNumber":31},"hitCount":0,"children":[277]},{"id":277,"callFrame":{"functionName":"defaultResolveImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1010,"columnNumber":29},"hitCount":0,"children":[278]},{"id":278,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1299,"columnNumber":34},"hitCount":0,"children":[279]},{"id":279,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":668,"columnNumber":27},"hitCount":0,"children":[280]},{"id":280,"callFrame":{"functionName":"toRealPath","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":59,"columnNumber":19},"hitCount":0,"children":[281]},{"id":281,"callFrame":{"functionName":"realpathSync","scriptId":"46","url":"node:fs","lineNumber":2714,"columnNumber":21},"hitCount":0,"children":[282]},{"id":282,"callFrame":{"functionName":"lstat","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":2791,"ticks":1}]},{"id":290,"callFrame":{"functionName":"","scriptId":"180","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/load-sa-model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[291]},{"id":291,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[292]},{"id":292,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[293]},{"id":293,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[294]},{"id":294,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[295]},{"id":295,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[296]},{"id":296,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[297]},{"id":297,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1845,"columnNumber":38},"hitCount":1,"children":[298],"positionTicks":[{"line":1850,"ticks":1}]},{"id":298,"callFrame":{"functionName":"loadSource","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1720,"columnNumber":19},"hitCount":0,"children":[299]},{"id":299,"callFrame":{"functionName":"defaultLoadImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1094,"columnNumber":24},"hitCount":0,"children":[300]},{"id":300,"callFrame":{"functionName":"readFileSync","scriptId":"46","url":"node:fs","lineNumber":432,"columnNumber":21},"hitCount":1,"positionTicks":[{"line":440,"ticks":1}]},{"id":301,"callFrame":{"functionName":"","scriptId":"182","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/load-cer-meta-model.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[302]},{"id":302,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[303]},{"id":303,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[304]},{"id":304,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[305]},{"id":305,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[306]},{"id":306,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[307]},{"id":307,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[308]},{"id":308,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1845,"columnNumber":38},"hitCount":1,"positionTicks":[{"line":1850,"ticks":1}]},{"id":309,"callFrame":{"functionName":"","scriptId":"188","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/lemmatize.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[310]},{"id":310,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[311]},{"id":311,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[312]},{"id":312,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[313]},{"id":313,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[314]},{"id":314,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[315]},{"id":315,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[316]},{"id":316,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[317]},{"id":317,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[318]},{"id":318,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":12,"positionTicks":[{"line":1637,"ticks":12}]},{"id":319,"callFrame":{"functionName":"","scriptId":"192","url":"file:///app/node_modules/wink-eng-lite-web-model/dist/readability-stats.js","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[320]},{"id":320,"callFrame":{"functionName":"require","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":145,"columnNumber":18},"hitCount":0,"children":[321]},{"id":321,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1454,"columnNumber":35},"hitCount":0,"children":[322]},{"id":322,"callFrame":{"functionName":"wrapModuleLoad","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":229,"columnNumber":23},"hitCount":0,"children":[323]},{"id":323,"callFrame":{"functionName":"traceSync","scriptId":"29","url":"node:diagnostics_channel","lineNumber":325,"columnNumber":11},"hitCount":0,"children":[324]},{"id":324,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1168,"columnNumber":23},"hitCount":0,"children":[325]},{"id":325,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1431,"columnNumber":32},"hitCount":0,"children":[326]},{"id":326,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1802,"columnNumber":36},"hitCount":0,"children":[327]},{"id":327,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1654,"columnNumber":36},"hitCount":0,"children":[328]},{"id":328,"callFrame":{"functionName":"wrapSafe","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1594,"columnNumber":17},"hitCount":1,"positionTicks":[{"line":1637,"ticks":1}]},{"id":283,"callFrame":{"functionName":"resolveForCJSWithHooks","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1005,"columnNumber":31},"hitCount":0,"children":[284]},{"id":284,"callFrame":{"functionName":"defaultResolveImpl","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1010,"columnNumber":29},"hitCount":0,"children":[285]},{"id":285,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":1299,"columnNumber":34},"hitCount":0,"children":[286]},{"id":286,"callFrame":{"functionName":"","scriptId":"67","url":"node:internal/modules/cjs/loader","lineNumber":668,"columnNumber":27},"hitCount":0,"children":[287]},{"id":287,"callFrame":{"functionName":"toRealPath","scriptId":"55","url":"node:internal/modules/helpers","lineNumber":59,"columnNumber":19},"hitCount":0,"children":[288]},{"id":288,"callFrame":{"functionName":"realpathSync","scriptId":"46","url":"node:fs","lineNumber":2714,"columnNumber":21},"hitCount":0,"children":[289]},{"id":289,"callFrame":{"functionName":"lstat","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":2791,"ticks":1}]},{"id":329,"callFrame":{"functionName":"","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[330]},{"id":330,"callFrame":{"functionName":"main","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":3,"columnNumber":19},"hitCount":3,"children":[331,339],"positionTicks":[{"line":41,"ticks":2},{"line":9,"ticks":1}]},{"id":331,"callFrame":{"functionName":"consoleCall","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":0,"children":[332]},{"id":332,"callFrame":{"functionName":"log","scriptId":"58","url":"node:internal/console/constructor","lineNumber":400,"columnNumber":5},"hitCount":0,"children":[333]},{"id":333,"callFrame":{"functionName":"value","scriptId":"58","url":"node:internal/console/constructor","lineNumber":274,"columnNumber":19},"hitCount":0,"children":[334]},{"id":334,"callFrame":{"functionName":"get","scriptId":"58","url":"node:internal/console/constructor","lineNumber":209,"columnNumber":13},"hitCount":0,"children":[335]},{"id":335,"callFrame":{"functionName":"getStdout","scriptId":"63","url":"node:internal/bootstrap/switches/is_main_thread","lineNumber":150,"columnNumber":18},"hitCount":0,"children":[336]},{"id":336,"callFrame":{"functionName":"createWritableStdioStream","scriptId":"63","url":"node:internal/bootstrap/switches/is_main_thread","lineNumber":49,"columnNumber":34},"hitCount":0,"children":[337]},{"id":337,"callFrame":{"functionName":"SyncWriteStream","scriptId":"194","url":"node:internal/fs/sync_write_stream","lineNumber":11,"columnNumber":24},"hitCount":0,"children":[338]},{"id":338,"callFrame":{"functionName":"Writable","scriptId":"111","url":"node:internal/streams/writable","lineNumber":391,"columnNumber":17},"hitCount":1,"positionTicks":[{"line":407,"ticks":1}]},{"id":339,"callFrame":{"functionName":"transcribe","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":599,"columnNumber":18},"hitCount":1,"children":[340,349],"positionTicks":[{"line":634,"ticks":1}]},{"id":340,"callFrame":{"functionName":"get","scriptId":"13","url":"node:internal/util","lineNumber":635,"columnNumber":16},"hitCount":0,"children":[341]},{"id":341,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[342]},{"id":342,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[343]},{"id":343,"callFrame":{"functionName":"","scriptId":"195","url":"node:perf_hooks","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[344]},{"id":344,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[345]},{"id":345,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":0,"children":[346]},{"id":346,"callFrame":{"functionName":"","scriptId":"199","url":"node:internal/perf/usertiming","lineNumber":0,"columnNumber":0},"hitCount":0,"children":[347]},{"id":347,"callFrame":{"functionName":"requireBuiltin","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":421,"columnNumber":23},"hitCount":0,"children":[348]},{"id":348,"callFrame":{"functionName":"compileForInternalLoader","scriptId":"6","url":"node:internal/bootstrap/realm","lineNumber":384,"columnNumber":26},"hitCount":1,"positionTicks":[{"line":397,"ticks":1}]},{"id":349,"callFrame":{"functionName":"computeFeatures","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":435,"columnNumber":23},"hitCount":0,"children":[350]},{"id":350,"callFrame":{"functionName":"sanitizeFiniteAudioSamples","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":6,"columnNumber":35},"hitCount":3,"positionTicks":[{"line":14,"ticks":3}]},{"id":351,"callFrame":{"functionName":"transcribe","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":599,"columnNumber":18},"hitCount":479,"children":[352,353,355,373,378],"positionTicks":[{"line":797,"ticks":1},{"line":716,"ticks":1},{"line":815,"ticks":39},{"line":817,"ticks":30},{"line":962,"ticks":1},{"line":525,"ticks":1},{"line":820,"ticks":20},{"line":819,"ticks":27},{"line":824,"ticks":15},{"line":798,"ticks":10},{"line":827,"ticks":11},{"line":818,"ticks":24},{"line":673,"ticks":1},{"line":714,"ticks":3},{"line":717,"ticks":3},{"line":898,"ticks":2},{"line":721,"ticks":3},{"line":816,"ticks":28},{"line":830,"ticks":11},{"line":712,"ticks":2},{"line":828,"ticks":15},{"line":823,"ticks":91},{"line":794,"ticks":13},{"line":825,"ticks":29},{"line":821,"ticks":32},{"line":896,"ticks":1},{"line":719,"ticks":2},{"line":715,"ticks":1},{"line":600,"ticks":1},{"line":718,"ticks":2},{"line":814,"ticks":20},{"line":822,"ticks":18},{"line":826,"ticks":7},{"line":829,"ticks":14}]},{"id":352,"callFrame":{"functionName":"run","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":25,"columnNumber":28},"hitCount":2,"positionTicks":[{"line":26,"ticks":1},{"line":27,"ticks":1}]},{"id":353,"callFrame":{"functionName":"_runCombinedStep","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":303,"columnNumber":24},"hitCount":10,"children":[354],"positionTicks":[{"line":322,"ticks":3},{"line":31,"ticks":1},{"line":304,"ticks":6}]},{"id":354,"callFrame":{"functionName":"run","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":29,"columnNumber":27},"hitCount":296,"positionTicks":[{"line":31,"ticks":296}]},{"id":355,"callFrame":{"functionName":"consoleCall","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":4,"children":[356,364],"positionTicks":[{"line":975,"ticks":1}]},{"id":356,"callFrame":{"functionName":"log","scriptId":"58","url":"node:internal/console/constructor","lineNumber":400,"columnNumber":5},"hitCount":0,"children":[357]},{"id":357,"callFrame":{"functionName":"value","scriptId":"58","url":"node:internal/console/constructor","lineNumber":274,"columnNumber":19},"hitCount":1,"children":[358],"positionTicks":[{"line":280,"ticks":1}]},{"id":358,"callFrame":{"functionName":"Writable.write","scriptId":"111","url":"node:internal/streams/writable","lineNumber":503,"columnNumber":35},"hitCount":0,"children":[359]},{"id":359,"callFrame":{"functionName":"_write","scriptId":"111","url":"node:internal/streams/writable","lineNumber":452,"columnNumber":15},"hitCount":0,"children":[360]},{"id":360,"callFrame":{"functionName":"writeOrBuffer","scriptId":"111","url":"node:internal/streams/writable","lineNumber":547,"columnNumber":22},"hitCount":0,"children":[361]},{"id":361,"callFrame":{"functionName":"SyncWriteStream._write","scriptId":"194","url":"node:internal/fs/sync_write_stream","lineNumber":24,"columnNumber":43},"hitCount":0,"children":[362,375]},{"id":362,"callFrame":{"functionName":"writeSync","scriptId":"46","url":"node:fs","lineNumber":881,"columnNumber":18},"hitCount":0,"children":[363]},{"id":363,"callFrame":{"functionName":"writeBuffer","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1,"positionTicks":[{"line":905,"ticks":1}]},{"id":375,"callFrame":{"functionName":"onwrite","scriptId":"111","url":"node:internal/streams/writable","lineNumber":614,"columnNumber":16},"hitCount":1,"positionTicks":[{"line":688,"ticks":1}]},{"id":364,"callFrame":{"functionName":"table","scriptId":"58","url":"node:internal/console/constructor","lineNumber":542,"columnNumber":7},"hitCount":1,"children":[365],"positionTicks":[{"line":569,"ticks":1}]},{"id":365,"callFrame":{"functionName":"final","scriptId":"58","url":"node:internal/console/constructor","lineNumber":550,"columnNumber":18},"hitCount":0,"children":[366]},{"id":366,"callFrame":{"functionName":"table","scriptId":"206","url":"node:internal/cli_table","lineNumber":53,"columnNumber":14},"hitCount":0,"children":[367,377]},{"id":367,"callFrame":{"functionName":"","scriptId":"206","url":"node:internal/cli_table","lineNumber":55,"columnNumber":47},"hitCount":0,"children":[368]},{"id":368,"callFrame":{"functionName":"getStringWidth","scriptId":"18","url":"node:internal/util/inspect","lineNumber":2668,"columnNumber":42},"hitCount":1,"positionTicks":[{"line":2675,"ticks":1}]},{"id":377,"callFrame":{"functionName":"getStringWidth","scriptId":"18","url":"node:internal/util/inspect","lineNumber":2668,"columnNumber":42},"hitCount":1,"positionTicks":[{"line":2670,"ticks":1}]},{"id":373,"callFrame":{"functionName":"_disposeDecoderState","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":522,"columnNumber":22},"hitCount":1,"positionTicks":[{"line":524,"ticks":1}]},{"id":378,"callFrame":{"functionName":"decode","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":7,"columnNumber":12},"hitCount":1,"positionTicks":[{"line":8,"ticks":1}]},{"id":369,"callFrame":{"functionName":"main","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":3,"columnNumber":19},"hitCount":0,"children":[370]},{"id":370,"callFrame":{"functionName":"transcribe","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":599,"columnNumber":18},"hitCount":0,"children":[371]},{"id":371,"callFrame":{"functionName":"computeFeatures","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":435,"columnNumber":23},"hitCount":2,"children":[372,376],"positionTicks":[{"line":438,"ticks":2}]},{"id":372,"callFrame":{"functionName":"sanitizeFiniteAudioSamples","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":6,"columnNumber":35},"hitCount":12,"positionTicks":[{"line":13,"ticks":2},{"line":14,"ticks":10}]},{"id":376,"callFrame":{"functionName":"process","scriptId":"86","url":"file:///app/profile_test2.mjs","lineNumber":11,"columnNumber":13},"hitCount":1,"positionTicks":[{"line":13,"ticks":1}]},{"id":374,"callFrame":{"functionName":"_runCombinedStep","scriptId":"88","url":"file:///app/src/parakeet.js","lineNumber":303,"columnNumber":24},"hitCount":28,"positionTicks":[{"line":388,"ticks":1},{"line":390,"ticks":1},{"line":338,"ticks":1},{"line":326,"ticks":3},{"line":367,"ticks":5},{"line":327,"ticks":13},{"line":368,"ticks":4}]},{"id":379,"callFrame":{"functionName":"processTicksAndRejections","scriptId":"30","url":"node:internal/process/task_queues","lineNumber":70,"columnNumber":34},"hitCount":0,"children":[380]},{"id":380,"callFrame":{"functionName":"afterWriteTick","scriptId":"111","url":"node:internal/streams/writable","lineNumber":692,"columnNumber":23},"hitCount":1,"positionTicks":[{"line":696,"ticks":1}]},{"id":381,"callFrame":{"functionName":"(idle)","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":1}],"startTime":2559868520,"endTime":2561156286,"samples":[2,10,16,22,26,31,32,33,37,37,50,53,54,72,55,81,37,37,82,37,88,95,99,103,104,104,104,102,105,119,144,54,145,151,158,155,159,171,182,192,198,199,202,153,145,204,215,225,244,256,256,256,256,256,256,255,255,255,255,255,255,255,255,252,252,252,252,252,252,252,252,252,54,54,54,54,252,252,252,252,252,268,269,282,289,300,297,308,269,318,318,318,318,318,318,318,318,318,318,318,318,54,54,54,54,54,54,54,328,338,330,330,330,348,339,350,350,350,352,351,351,351,351,351,54,54,54,351,2,351,351,354,354,354,351,351,351,351,351,351,351,351,351,54,2,351,351,351,354,351,351,351,354,351,351,351,351,54,2,2,354,354,351,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,354,54,353,353,354,351,351,351,54,54,351,2,354,354,354,354,354,351,351,2,351,351,351,351,351,351,351,351,351,351,354,354,354,354,354,354,354,354,354,354,54,351,351,354,351,354,351,351,363,368,371,372,351,351,351,2,351,353,2,2,2,354,2,2,54,2,2,351,351,2,351,2,2,2,2,54,354,2,2,2,2,351,2,2,2,2,54,354,2,351,351,351,2,2,2,2,54,54,351,2,351,2,351,2,2,2,351,351,2,351,2,2,351,351,351,351,351,373,351,2,351,354,351,374,351,351,374,351,351,374,351,374,351,351,351,354,351,351,351,351,2,354,354,354,54,354,354,354,354,351,351,351,351,351,354,354,351,354,351,354,351,354,351,351,351,351,354,54,351,375,371,372,2,351,2,351,2,2,351,351,351,2,54,351,351,351,2,2,2,2,351,2,2,54,2,351,2,2,2,351,351,2,351,54,351,351,351,351,2,351,351,2,2,351,2,2,351,2,351,351,351,2,2,2,351,351,2,351,351,351,351,354,351,351,351,351,351,354,354,351,351,351,351,374,351,354,351,374,354,354,351,351,351,351,354,351,351,354,354,354,54,354,354,351,354,354,351,354,351,351,351,351,353,354,351,354,354,354,369,357,372,351,351,354,54,351,354,354,351,354,351,351,351,351,354,351,354,351,351,351,351,351,351,354,374,351,54,351,351,351,354,351,354,354,351,351,351,351,351,351,354,354,2,351,351,351,351,351,354,354,374,354,351,351,353,354,351,354,355,372,351,351,351,354,354,351,374,351,351,354,374,354,354,374,354,351,354,351,351,351,351,354,351,354,354,354,353,374,351,351,351,351,354,54,354,354,351,351,354,354,351,354,351,351,354,354,351,354,354,374,354,351,351,351,351,355,372,54,351,351,354,351,351,354,351,351,351,354,351,374,374,351,351,354,354,354,354,351,54,351,354,354,351,351,354,351,351,351,354,351,351,351,351,351,354,354,351,354,351,354,351,354,351,351,351,354,351,354,351,351,374,351,364,372,351,354,2,354,354,351,354,351,54,354,351,354,351,351,354,354,354,351,374,351,351,353,351,351,354,351,351,354,351,351,351,354,351,354,354,354,2,351,351,354,351,351,351,351,351,351,351,351,351,351,354,354,354,354,351,351,372,352,351,351,351,351,354,351,351,351,351,354,351,351,354,351,351,351,351,354,351,354,351,351,351,351,351,351,351,353,351,351,354,351,351,354,354,354,351,351,351,354,351,354,351,351,351,351,351,351,353,354,351,351,351,351,354,372,355,351,354,354,351,351,54,354,354,354,351,351,351,351,351,354,351,351,351,354,351,351,351,351,351,354,354,351,351,54,354,354,351,351,354,354,351,351,351,351,351,351,354,351,351,351,351,354,351,351,354,354,354,354,354,351,351,351,351,355,372,351,351,351,351,351,351,351,351,351,351,354,351,351,351,54,351,351,351,351,351,351,354,354,351,354,354,354,351,354,354,354,351,351,351,351,351,54,354,354,354,351,351,354,351,354,354,351,351,354,374,351,354,351,354,351,351,372,351,351,354,54,351,354,351,354,374,351,351,351,351,354,354,374,354,354,351,351,374,351,351,354,54,354,354,354,354,351,354,374,354,374,354,351,351,354,354,354,354,351,351,354,351,354,351,54,354,351,354,351,351,354,351,351,351,351,351,372,376,351,354,351,351,351,351,351,351,353,354,354,54,351,351,351,354,374,351,354,354,351,351,351,351,351,351,354,354,351,351,351,351,354,351,354,54,354,354,354,354,351,374,351,351,351,351,351,374,354,351,354,354,351,351,354,354,351,354,354,351,377,372,354,354,351,351,351,354,351,351,354,351,351,351,354,351,351,354,354,351,351,54,351,351,354,351,354,354,351,351,351,351,374,2,351,354,351,354,351,351,351,351,351,353,374,54,54,354,354,354,354,354,351,354,351,351,354,351,351,351,351,378,380,381],"timeDeltas":[17174,1422,1121,1144,1146,1129,1137,1139,1144,1134,1140,1139,1187,1137,1177,1142,1127,1156,1194,1146,1138,1157,1150,1135,1179,1152,1126,1239,1262,1228,1177,1197,1161,1068,1160,1142,1155,1148,1153,1139,1120,1146,1173,1171,1111,1155,1155,1080,1161,1150,1184,1224,1060,1152,1086,1130,1136,1163,1166,1145,1169,1077,1163,1148,1176,1152,1164,1150,1128,1193,1179,1094,1125,1136,1157,1168,1140,1200,1091,1145,1158,1158,1132,1149,1168,1154,1143,1154,1138,1135,1147,1159,1150,1146,1171,1157,1149,1171,1160,1158,1145,1111,1191,1173,1158,1172,1210,1102,1207,1219,1140,1156,1139,1149,1199,1146,1266,1204,1227,1193,1296,1232,1192,1214,1227,1060,1217,1139,1116,1152,1142,1188,1147,1156,1144,1150,1150,1155,1147,1143,1141,1154,1149,1177,2258,1136,1135,1135,1142,1151,1149,1156,1137,1153,1150,1151,1158,1175,1181,1169,1179,1164,1239,1194,1186,1232,1183,1194,1175,1203,1253,1204,1216,1200,1181,1181,1178,1181,1191,1175,1289,1082,1180,1184,1178,1181,1194,1176,1296,1198,1184,1191,1178,1202,1181,1206,1177,1175,1181,1177,1172,1180,1184,1182,1216,1103,1219,1194,2495,1059,3401,1177,1164,1193,3008,1181,1334,1209,1144,1155,1159,1141,1138,1059,1146,1138,1159,1172,1175,1167,1175,1174,1200,1171,1164,1190,1225,1247,1149,1175,1181,1168,1178,1177,1157,1169,1184,1134,1184,1160,1207,380,844,1227,1195,1173,1172,1166,1177,1173,1204,319,880,1169,1283,1079,1161,1188,1163,1176,1164,1170,1183,1173,1147,1147,1171,1206,1179,1177,1176,1143,1139,1152,1272,1126,1166,1167,1165,1192,1209,1187,1243,1234,1194,1173,1164,1161,1167,1167,1183,1156,1211,1274,1179,1165,1171,1198,1195,1198,1178,1217,1195,1291,1179,1173,1174,1190,1169,1229,1214,1586,804,1276,1137,1227,1167,1202,1203,1226,1214,1172,1177,1276,1228,1248,1139,1179,1224,1192,1194,1206,1185,1203,1236,1230,1282,1169,1185,1239,1233,1136,1189,1166,1193,1194,1180,1199,1287,1113,1168,1159,1182,1171,1165,1169,1167,1168,1180,1160,1167,1153,1119,1195,1191,1134,1176,1165,1166,1163,1170,1160,1171,2335,1163,1161,1247,1102,1163,1166,1158,1163,1170,1162,1188,1168,1148,1173,1179,1200,1163,1234,1197,1161,1167,1151,1180,1161,1162,1162,1246,2418,1180,1169,1224,1182,1295,1163,1170,1173,1242,1202,1168,1172,1155,1185,1222,1162,1157,1173,1216,1206,1205,1184,1214,1170,1156,1197,1193,1183,1194,1188,1169,1160,1156,1154,1171,1136,1175,1183,1166,1157,1152,1156,1169,1198,1174,1170,1170,1152,1158,1214,1170,1168,1144,1168,1153,1164,1152,1158,1219,1118,1143,1185,1152,1154,1157,1148,1164,1181,1122,1150,1550,-398,1163,1155,1289,1133,1237,1174,1170,1218,1159,1154,1152,1172,1164,1153,1174,1134,1158,1259,1196,1210,1197,1196,1208,1172,1178,1178,1173,1207,1186,1252,1177,1190,1188,1202,1185,1177,1206,1184,1191,1178,1248,1211,1165,1200,1202,1176,1204,1197,1214,1223,1155,1202,1122,1142,1167,1161,1185,1155,1154,1245,1186,1210,1198,1177,1205,1167,1271,1108,1151,1149,1174,1135,1211,1206,1190,1236,1196,1173,1163,1177,1172,1169,1160,1168,1173,1202,1187,1168,1160,1170,1169,1156,1230,1224,1215,1166,1157,1163,1174,1162,1182,1098,1193,1207,1177,1164,1206,1138,1154,1217,1187,1203,1254,1305,1180,1181,1192,1268,1144,1190,1182,1259,1194,1221,1192,1234,1201,1213,1173,1211,1371,1216,1280,1223,1252,1194,1190,1224,1230,1244,1207,1157,1156,1192,1181,1172,1200,1175,1174,1200,1228,1226,1219,1190,1251,1241,1170,1215,1191,1194,1303,1183,1150,1197,1185,1216,1162,1159,1156,1165,1173,1140,1159,1155,1156,1154,1202,1186,1187,1191,1187,1203,1196,1443,1179,1172,1139,1164,1163,1168,1175,1180,1210,1168,1179,1175,1198,1217,1206,1225,1176,1204,1173,1180,1224,1208,1178,1205,1205,1189,1192,1247,1182,1212,1246,1219,1220,1185,1218,1218,1278,1238,1195,1221,1148,1271,1192,1200,1153,1180,1239,1214,1155,1167,1165,1162,1152,1157,1155,1220,1162,1166,1224,1179,1183,1206,1173,1252,1169,1289,1068,1215,1181,1166,1163,1159,1162,1163,1216,1162,1210,1184,1189,1229,1173,1197,1167,1169,1298,1178,1168,1283,1182,1189,1182,1167,1185,1141,1160,1156,1153,1152,1152,1162,1156,1195,1159,1170,1153,1163,1145,1172,1172,1154,1154,1126,1190,1161,1147,1164,1163,1153,1150,1151,1180,1162,1150,1213,1173,1160,1142,1148,1150,1155,1168,1168,1242,1184,1194,1152,1133,1138,1130,1270,1139,1145,1135,1137,1177,1157,1153,1151,1154,1156,1156,1153,1153,1157,1168,1163,1171,1157,1130,1129,1153,1190,1154,1177,1168,1153,1153,1156,1150,1165,1161,1157,1155,1159,1161,1157,1167,1151,1155,1151,1170,1173,1165,1173,1155,1234,1149,1163,1148,1189,1149,1159,1147,1158,1184,1157,1157,1168,1163,1151,1178,1153,1157,1168,1147,1146,1159,1154,1152,1208,1176,1209,1214,1178,1186,1152,1153,1162,1167,1161,1158,1176,1147,1143,1207,1133,1182,1168,1150,1221,1151,1296,1198,1159,1170,1203,1177,1187,1177,1202,1203,1163,1161,1245,1209,1177,1166,1153,1170,1165,1118,1163,1152,1154,1153,1152,1158,1175,1152,1151,1154,1149,1245,1182,1196,1201,1175,1208,1204,1193,1219,1237,1174,1188,1179,1168,1164,1258,1092,1172,1150,1176,1159,1171,1151,1169,1187,1189,1152,1167,1170,1165,1166,1166,1174,1161,1161,1172,1189,1156,1164,1164,1174,1158,1208,1181,1153,1174,1169,1194,1168,1175,1186,1175,1179,1169,1169,1166,1182,1170,1178,1166,1150,1156,1163,1178,1262,1106,1155,1158,1183,1171,1243,1156,1160,1266,1066,1177,1206,1171,1157,1177,1294,1244,1355,1223,1222,1201,1201,1220,1223,1268,1175,1178,1220,1204,1348,1212,1325,1234,1210,1217,1221,1198,1339,1094,1156,1147,1204,1169,1193,1128,1167,1158,1162,1151,1184,1152,1152,1153,1151,1240,1221,1243,1181,1174,1170,1199,1207,1190,1249,1233,1190,1159,1146,1183,1153,1160,1151,1198,1126,1161,1172,1163,1155,1160,422]} No newline at end of file | |||
There was a problem hiding this comment.
This file appears to be a CPU profile output generated during performance testing. Committing large profiling data files to the repository is generally discouraged as it increases repository size without providing direct value to the source code. If this file was intended for one-time verification of the performance improvements, it should be removed from the pull request.
| const failDecoderStep = (message) => { | ||
| logits?.dispose?.(); | ||
|
|
||
| const disposed = new Set(); | ||
| const disposed = []; | ||
| const disposeUniqueState = (state) => { | ||
| if (!state) return; | ||
| for (const tensor of [state.state1, state.state2]) { | ||
| if (!tensor || tensor === this._combState1 || tensor === this._combState2 || disposed.has(tensor)) continue; | ||
| disposed.add(tensor); | ||
| if (!tensor || tensor === this._combState1 || tensor === this._combState2 || disposed.includes(tensor)) continue; | ||
| disposed.push(tensor); | ||
| tensor.dispose?.(); | ||
| } | ||
| }; |
There was a problem hiding this comment.
The failDecoderStep helper is defined as a closure inside _runCombinedStep, which is a hot function called for every token during transcription. This results in a new function object being allocated on every call. While this helper is only executed on error, the allocation of the closure itself happens every time. Moving this definition outside of _runCombinedStep (e.g., as a private method or a static helper) would avoid these unnecessary allocations and further reduce garbage collection pressure, which is the primary goal of this PR.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
profile.cpuprofile (1)
1-1: ⚡ Quick winKeep the CPU profile out of git history.
This is a generated diagnostic artifact, so committing it adds a large noisy blob to the repo without improving the shipped library. Prefer attaching it to the PR or ignoring it in the tree instead.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@profile.cpuprofile` at line 1, The commit includes a generated diagnostic blob (profile.cpuprofile) that should not be in git history; remove profile.cpuprofile from the commit and repo, add profile.cpuprofile (or a pattern like *.cpuprofile) to .gitignore, commit the removal (e.g. git rm --cached profile.cpuprofile && git commit -m "Remove generated CPU profile"), and if the file was already pushed rewrite history or use a tool (git filter-repo / BFG) to permanently purge it before pushing; attach the profile file to the PR or upload it to the issue instead of committing it.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@profile.cpuprofile`:
- Line 1: The commit includes a generated diagnostic blob (profile.cpuprofile)
that should not be in git history; remove profile.cpuprofile from the commit and
repo, add profile.cpuprofile (or a pattern like *.cpuprofile) to .gitignore,
commit the removal (e.g. git rm --cached profile.cpuprofile && git commit -m
"Remove generated CPU profile"), and if the file was already pushed rewrite
history or use a tool (git filter-repo / BFG) to permanently purge it before
pushing; attach the profile file to the PR or upload it to the issue instead of
committing it.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 1f1f5171-bc13-4bc7-b973-2213d63f2b30
📒 Files selected for processing (3)
.jules/bolt.mdprofile.cpuprofilesrc/parakeet.js
What changed
In
src/parakeet.js, the hot_runCombinedStepfunction and its internalfailDecoderStephelper were modified to replaceObject.values(out)with afor...inloop, andnew Set()with a simple array.Why it was needed (bottleneck evidence)
Profiling the decoder (
node --cpu-prof profile_test2.mjs) revealed high garbage collection overhead and measurable execution time spent allocating intermediate arrays (viaObject.values) and instantiating/hashing objects in aSet. Standalone tests (liketest_seen_for_in.mjs) demonstrated that for tracking very small collections of items (like the 3-5 ORT tensors output by the joiner step),Array.includescombined with afor...inloop is nearly 4x faster in V8 thannew Set()+Object.values().Impact (numbers or clearly repeatable observation)
The microbenchmark tracking small collections of items runs in ~112ms using
Array+for...invs ~386ms usingSet+Object.values(). While isolated, this occurs at every single token step (thousands of times per transcription). Profiling shows decoding throughput slightly increased by approximately 2-4% on full transcriptions due to reduced memory allocation/GC churn.How to verify (exact steps/commands)
npm run testto verify no regressions in the model functionality.Object.hasOwnprevents unexpected prototypical properties from being iterated.PR created automatically by Jules for task 6224559206129409221 started by @ysdede
Summary by Sourcery
Optimize decoder hot path memory handling to reduce allocation and GC overhead in Parakeet model inference.
Enhancements:
Chores:
Summary by CodeRabbit
Documentation
Refactor
Chores