-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
developmentConcerns internal quality (tests, performance, automation, ...)Concerns internal quality (tests, performance, automation, ...)engineeringTechnical change to the machineryTechnical change to the machinery
Description
Since #78, tracing and retracing performance has dropped. For small expressions, up to 40% of the time account for TDBMemorySimulator>>#initializeAllPrimitives. Maintain shared caches to improve the situation.
Notes:
- Profile first, e.g.:
memory := TDBMemory new. [[10000 timesRepeat: [(TDBRangeRetracingSimulator forMemory: memory atTimes: (1 to: 3)) evaluate: [thisContext tdbRetracingTimeIndex +1]]] timeProfile] fork
TDBMemorySimulator: introducePrimitiveHandlerscache that maps set of requirements values (shouldIsolateetc.) to dictionary of handler blocks that takeaSimulatoras their first argument- Build something similar for
pragmaPrimitives - Consider caching
capabilityPragmasin SimulationStudio
Metadata
Metadata
Assignees
Labels
developmentConcerns internal quality (tests, performance, automation, ...)Concerns internal quality (tests, performance, automation, ...)engineeringTechnical change to the machineryTechnical change to the machinery