Replies: 1 comment
Separate the requirements from the previous implementation experimentAfter looking at existing standards and SFM’s previous review-session work, I think this proposal should remain agnostic about its eventual storage and UI implementation. SFM previously experimented with The experiment is still useful prior art. It demonstrated requirements that overlap with established standards:
These appear to be complementary layers:
Consequently, I do not think A finding should be able to include:
For the motivating example, the finding might say that constructing The previous The concrete direction for this discussion is therefore:
|
Uh oh!
There was an error while loading. Please reload this page.
With progress in sfm-propagate-changes.exe, static analysis auditing and reporting for memory usage timing with allocations and such would be useful.
This will automate the ability of identifying problems like #602 before they are noticed by humans.
Document formats:
This is effectively auditing the consumption of memory. It is also important to be able to predict and audit the consumption of CPU instructions, which involves awareness of multithreading.
If we think about the ticket above, the problem could be described as
then the understanding of the problem is not that
contextis unused, because it is used inif trigger.shouldTick(context) then.The problem is that
trigger.shouldTickisn't using all the fields ofcontext, so we should focus on static analysis that determines when an object is being accepted as a parameter where the body of the method does not have any coverage that uses some of the fields of that object.If we have
then we should raise a flag.
That was a simple case, what if we introduce more nuance?
then we have a code flow that determines that context.c is used and should not be removed.
However, this becomes a contradiction if we don't introduce a threshold or other inflection point where it goes from being appropriate to inappropriate.
The locality of the object creation to its usage.
How would we know to advocate for
The most extreme version of this is actually running a JVM and adding hooks so we can react each time the method is called so we can use a counter or something to determine usage and such.
It may make sense to introduce a new object if the fields in the object are packed in an ugly way. If you have a big class with 999 fields, will that have worse performance than one with 2? How bad is the cache locality misses versus the cost to allocate a new object to hold the parameters?
The most broad implementation of this is a coverage harness where we ask "when was the last time we asked an AI to do a performance analysis for which the results of that analysis covered the presence of this method in its current form and how can perform such an analysis?" Just throw an AI at it in a way that gives confidence each method has been reviewed.
Bonus reading
https://spark.lucko.me/
#394
https://github.com/wolfpld/tracy
https://github.com/nagisa/rust_tracy_client
All reactions