You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#1078 Performance-test subarea: dataset now meets the approximately 30-minute target; decide repository/PR location, QA requirements, and benchmark metrics.
The team focused on closing Phase 11 work and reducing the outstanding pull-request backlog before Phase 12 begins. A proposed memory-aware chunking contribution prompted agreement that low-memory operation is an important ActivitySim need, but the contributor must first provide a clearer problem statement and evidence of memory and runtime performance. The team also reviewed RNG improvements, Parquet-based skim loading, and a compact performance-testing dataset, agreeing that performance testing should become a standard part of evaluating new features. Several ActivitySim and PopulationSim pull requests received specific next steps for review, testing, cleanup, or follow-up.
Meeting Notes
Phase 11 Backlog and Deprecation Work
The meeting's primary objective was to clear Phase 11 work so Phase 12 can begin with a clean backlog.
ActivitySim PR #1094, which deprecates older code, was considered ready to merge following David's review.
The PR preserves tracing columns. David recommended adding focused tests for tracing functionality in a separate pull request rather than expanding the current PR.
The global-constant pull request was approved and can be merged after its test suite passes.
Memory-Aware Chunking and Low-Memory Operation
An outside user submitted an external contribution for memory-aware chunking. The team was hesitant to invest substantial review effort because the pull request did not clearly explain the underlying problem, why explicit chunking was insufficient, or how well the proposed approach performed.
The team agreed to ask for a clearer problem statement, justification for an adaptive approach rather than a wrapper around explicit chunking, and demonstrated memory and runtime profiles across different machines.
Bo described an attempt to run a full TransLink model on lower-memory hardware. Reducing memory requirements from 256 GB to 64 GB was only possible at a 20% household sample, with the bottleneck occurring before explicit chunking took effect.
Ray reported similar concerns from local stakeholders, who view a 256 GB memory requirement as a barrier to adopting ActivitySim models.
The discussion confirmed that consortium agencies have a real need for models that can run on readily available hardware, even if lower-memory execution takes longer. Low-memory operation is expected to be an important Phase 12 consideration.
RNG Improvements and Parquet Skim Loading
Jeff opened a pull request incorporating RNG improvements developed with David. The changes provide a modest speed improvement, and Jan was asked to review the work as someone independent of its development.
Jeff also opened a pull request adding support for reading skim data from Parquet instead of OMX.
Initial testing did not show a dramatic speed advantage over a well-optimized OMX read. Results may depend on compression libraries, hardware, and workload, so broader performance testing is needed before offering user guidance.
The team distinguished between confirming that an existing path has not regressed and evaluating whether a new path meets an appropriate performance target.
Joe Castiglione emphasized that performance testing should be part of the normal acceptance process for new features, citing the vehicle type choice model as an example where insufficient testing led to expensive post-merge remediation. The team agreed that functional correctness alone is not enough for performance-sensitive features.
Performance-Testing Dataset and Suite
Joe Flood created a compact dataset for performance testing using approximately 29,000 households from Oceanside, Vista, Carlsbad, and Camp Pendleton. A run took approximately 27 minutes, and the data files total less than 62 MB.
Joe Flood observed warnings in the log that should be reviewed before the dataset becomes a standard benchmark, although a preliminary review of the results appeared reasonable.
The team discussed whether the dataset and testing code should live in the main ActivitySim repository, the SANDAG ABM 3 example repository, or external storage with a download script.
Because a roughly 62 MB dataset would add unnecessary weight to ordinary source checkouts, the group left the final repository and storage design to Joe Flood. The testing configuration and runner should be contributed through a pull request regardless of where the data files reside.
Remaining ActivitySim Pull Requests
David pushed an update to the unused skim-loading pull request. It is considered ready pending Jeff's review and approval.
The park-and-ride pull request remains valuable but requires additional work from David.
The memory-cleanup pull request is waiting on WSP testing. Jeff may complete it with AI assistance after other backlog items are resolved if the original contributors do not finish it first.
The shadow-pricing segmentation pull request remains on hold pending feedback from SANDAG. Its goal is to avoid requiring users to duplicate work- and school-location segmentation settings in the shadow-pricing configuration.
Sijia noted that the shadow-pricing work likely still needs a unit test and a full model run. Jeff will first ask Bhargava Sana whether SANDAG has reached any conclusions from its testing.
Work on the application analysis guide is continuing.
PopulationSim Pull Requests
Nick's PopulationSim pull request has expanded to address nondeterministic results across machines in addition to its original scope.
Nick will clean up the changes and mark the pull request as a draft until it is ready for review.
To avoid duplicate work and merge conflicts, Nick expects to reopen Joe Flood's intermediate-geographies work under Joe's commit and take over the pull request workflow.
Action Items
Jeff Newman (@jpn--) will respond to the memory-aware chunking pull request, requesting a clearer problem statement, justification for not using explicit chunking, and demonstrated memory and runtime profiles before the consortium invests further review effort.
Jan Zill (@janzill) will review the RNG improvements pull request.
Jeff Newman (@jpn--) will follow up with Amir about performance testing for the Parquet skim-loading pull request.
Joe Flood (@JoeJimFlood) will send Jeff a SharePoint link for the performance-testing dataset.
Joe Flood (@JoeJimFlood) will open a pull request for the performance-testing suite and choose an appropriate location for the dataset and supporting code.
Jeff Newman (@jpn--) will review David's update to the unused skim-loading pull request.
David Hensle (@dhensle) will continue work on the park-and-ride pull request.
Jeff Newman (@jpn--) will contact Bhargava Sana (@bhargavasana) for an update on SANDAG's conclusions regarding shadow-pricing segmentation.
Nick Fournier (@nick-fournier) will mark the PopulationSim pull request as "ready for review" when it is.
Nick Fournier (@nick-fournier) will take over Joe Flood's PopulationSim intermediate-geographies work while preserving Joe's commit attribution.
Activity
jpn-- commentedon Aug 13, 2026
ActivitySim Engineering Team Meeting Notes — August 13, 2026
Meeting Overview
Participants
Duration
43 minutes
Executive Summary
The team focused on closing Phase 11 work and reducing the outstanding pull-request backlog before Phase 12 begins. A proposed memory-aware chunking contribution prompted agreement that low-memory operation is an important ActivitySim need, but the contributor must first provide a clearer problem statement and evidence of memory and runtime performance. The team also reviewed RNG improvements, Parquet-based skim loading, and a compact performance-testing dataset, agreeing that performance testing should become a standard part of evaluating new features. Several ActivitySim and PopulationSim pull requests received specific next steps for review, testing, cleanup, or follow-up.
Meeting Notes
Phase 11 Backlog and Deprecation Work
Memory-Aware Chunking and Low-Memory Operation
RNG Improvements and Parquet Skim Loading
Performance-Testing Dataset and Suite
Remaining ActivitySim Pull Requests
PopulationSim Pull Requests
Action Items