|
| 1 | +# Performance Working Group Meeting Notes – 2025-08-20 |
| 2 | + |
| 3 | +### Meta Information |
| 4 | + |
| 5 | +- GitHub Issue: [#42](https://github.com/expressjs/perf-wg/issues/42) |
| 6 | + |
| 7 | +### Discussions at the Meeting |
| 8 | + |
| 9 | +- **Meeting Date Issue Resolution**: |
| 10 | + - [@wesleytodd](https://github.com/wesleytodd) fixed a date error in the agenda that incorrectly showed "tomorrow" instead of the current meeting date. Quick fix was implemented via [PR #46](https://github.com/expressjs/perf-wg/pull/46) to correct the schedule |
| 11 | + |
| 12 | +- **What Kind of Apps Should We Test** ([Issue #34](https://github.com/expressjs/perf-wg/issues/34)): |
| 13 | + - [@jonchurch](https://github.com/jonchurch) proposed a **Tier 1 and Tier 2 testing approach**: |
| 14 | + - **Tier 1**: Focused unit suites and micro-benchmarks targeting specific subsystems (e.g., 5,000 deeply nested routes to stress-test routing) |
| 15 | + - **Tier 2**: Integration-level testing with real-world applications like the To-Do app to see aggregate performance changes |
| 16 | + - Goal is to provide actionable reports that can isolate performance changes to specific subsystems |
| 17 | + |
| 18 | + - [@kjugi](https://github.com/kjugi) referenced his previous proposals for test applications including: |
| 19 | + - Simple crud application with authorization |
| 20 | + - Three additional application types that could be merged or implemented separately |
| 21 | + - Offered to implement one of the applications from his list when time permits |
| 22 | + |
| 23 | + - **Decision to use multiple static fixture apps** rather than configurable applications: |
| 24 | + - [@wesleytodd](https://github.com/wesleytodd) emphasized that static fixtures are easier to compare and debug |
| 25 | + - Configuration-based apps make comparison more complex and error-prone |
| 26 | + - Individual packages approach aligns with the recent server refactor |
| 27 | + |
| 28 | +- **Server Refactor and Infrastructure Updates**: |
| 29 | + - [@wesleytodd](https://github.com/wesleytodd) completed a refactor moving servers to individual packages to support npm overrides feature |
| 30 | + - Docker container issues mentioned by [@jonchurch](https://github.com/jonchurch) are addressed in the pending PR |
| 31 | + - Discussion on handling API surface changes when comparing across Express major versions |
| 32 | + |
| 33 | +- **Performance Testing Tooling Proposals**: |
| 34 | + - [@groophylifefor](https://github.com/groophylifefor) shared proposal for performance tests published in Docker image |
| 35 | + - Reference: [body-parser PR #1 (example result)](https://github.com/GroophyLifefor/body-parser/pull/1) and [proposal issue #38](https://github.com/expressjs/perf-wg/issues/38) |
| 36 | + - [@riosje](https://github.com/riosje) suggested that performance testing tooling should include environment variable support |
| 37 | + |
| 38 | +- **External Framework Updates**: |
| 39 | + - [@bjohansebas](https://github.com/bjohansebas) mentioned opening PRs to update Express in Bluesky but noted review delays because several maintainers of Blueksy are on vacation - [ref](https://github.com/bluesky-social/atproto/pull/4046) |
| 40 | + - [@jonchurch](https://github.com/jonchurch) referenced [Pelias](https://github.com/pelias/pelias) as another potential real-world application for testing |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +### Shared Resources |
| 45 | + |
| 46 | +- **Meeting Agenda** – Issues and discussions: [#42](https://github.com/expressjs/perf-wg/issues/42) |
| 47 | +- **App Testing Strategy** – Defining test applications: [#34](https://github.com/expressjs/perf-wg/issues/34) |
| 48 | +- **Date Fix PR** – Meeting schedule correction: [#46](https://github.com/expressjs/perf-wg/pull/46) |
| 49 | +- **Server Refactor** – Individual packages approach: [#41](https://github.com/expressjs/perf-wg/pull/41) |
| 50 | +- **Pelias Project** – Real-world Express application: https://github.com/pelias/pelias |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +### Call to Action |
| 55 | + |
| 56 | +- **Contribute benchmark applications**: Help implement focused test servers for specific Express subsystems like routing, middleware stacks, or body parsing. Check [Issue #34](https://github.com/expressjs/perf-wg/issues/34) for current discussion. |
| 57 | +- **Suggest real-world applications**: Propose Express applications that could serve as integration test fixtures for performance regression testing. |
| 58 | +- **Join the discussion**: Participate in bi-weekly meetings (Wednesdays) or contribute to open issues in the [perf-wg repository](https://github.com/expressjs/perf-wg). |
| 59 | + |
| 60 | +> If a mistake has been made, please correct it. |
| 61 | +> Thank you to everyone who participated 😊 |
0 commit comments