Frontmatter
| id | 9384 |
| title | Implement generic Neo.util.Performance tracker |
| state | Closed |
| labels | aiperformancecore |
| assignees | tobiu |
| createdAt | Mar 7, 2026, 10:28 PM |
| updatedAt | Mar 7, 2026, 10:30 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9384 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9380 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 7, 2026, 10:30 PM |
Implement generic Neo.util.Performance tracker
tobiu added parent issue #9380 on Mar 7, 2026, 10:29 PM
tobiu assigned to @tobiu on Mar 7, 2026, 10:30 PM

tobiu
Mar 7, 2026, 10:30 PM
Input from Gemini 3.1 Pro:
✦ I have created the lightweight
Neo.util.Performancesingleton.It uses a fast internal
Mapwith fixed-size arrays for zero-allocation moving average tracking, bypassing the overhead ofNeo.manager.BaseandCollection. The methods have been sorted alphabetically as requested.Closing this sub-task. We can now proceed with wiring this tracker into
VdomLifecycleandScrollManagerin #9382.
tobiu closed this issue on Mar 7, 2026, 10:30 PM
This ticket tracks the creation of a generic, lightweight performance tracking utility (
Neo.util.Performance).Goal: Create a Singleton capable of tracking the duration of specific operations across the framework and calculating a rolling average (e.g., Simple Moving Average or Exponential Moving Average) without the overhead of
Neo.manager.Base(which extendsCollection).Requirements:
src/util/Performance.mjs.markStart(key),markEnd(key),getAverage(key).This is a prerequisite sub-task for implementing Dynamic RTT Measurement in the Grid.