QutEcoacoustics / workbench-client

workbench-client: a client side browser application for interacting with acoustic workbenches
Other
8 stars 1 forks source link

Use show requests for hasMany associations #2173

Open hudson-newey opened 1 day ago

hudson-newey commented 1 day ago

Use show requests for hasMany associations

Using show requests for hasMany associations allows the http debounce interceptor to cache hasMany association requests

Changes

Issues

Fixes: #2160

Final Checklist

github-actions[bot] commented 1 day ago

Size Change: +182 B (+0.01%)

Total Size: 3.59 MB

Filename Size Change
dist/workbench-client/browser/main-IF5TMIGN.js 0 B -1.13 MB (removed) 🏆
dist/workbench-client/server/main.js 1.94 MB +118 B (+0.01%)
dist/workbench-client/browser/main-DD7BJNMO.js 1.13 MB +1.13 MB (new file) 🆕
ℹī¸ View Unchanged | Filename | Size | | :--- | :---: | | `dist/workbench-client/browser/@ecoacoustics/web-components/abstractComponent-gI12hGSz.js` | 6.49 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/assets/buffer-builder-processor-BhnxGUx8.js` | 1.16 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/assets/high-accuracy-time-processor-BevUJNwo.js` | 354 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/attributes-DayhhJl-.js` | 313 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/class-map-BJ2wQJjp.js` | 675 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/classification-CIken_-O.js` | 128 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components.js` | 116 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/axes.js` | 3.19 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/classification.js` | 1.77 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/data-source.js` | 63.3 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/decision.js` | 246 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/help-dialog.js` | 2.61 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/helpers/constants/contextTokens.js` | 209 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/indicator.js` | 1.12 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/info-card.js` | 1.59 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/logger.js` | 418 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/media-controls.js` | 38.2 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/progress-bar.js` | 1.13 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/spectrogram.js` | 226 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/verification-grid-settings.js` | 1.48 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/verification-grid-tile.js` | 408 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/verification-grid.js` | 396 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/components/verification.js` | 1.29 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/consume-D2RSb1qY.js` | 614 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/context-request-event-Bc4uem__.js` | 239 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/custom-elements.json` | 9.74 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/decision-BcFlFKnV.js` | 1.49 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/decision-BvBt2W07.js` | 4.03 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/decorators-zsXcIcN9.js` | 516 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/directive-B76A7YXI.js` | 343 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/if-defined-YSzpD1Zv.js` | 178 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/keyboard-c8_TPhbG.js` | 117 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/lit-element-CNpxFSzF.js` | 6.77 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/map-D8heArFD.js` | 184 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/property-cctOu2Be.js` | 639 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/provide-Ce8Vz0mw.js` | 1.18 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/query-sbFTBDPt.js` | 340 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/signal-watcher-CbQ3umdl.js` | 377 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/signals-core.module-BUxpRF5s.js` | 1.59 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/spectrogram-CYEtaRIV.js` | 168 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/state-DJrhCpxL.js` | 203 B | | `dist/workbench-client/browser/@ecoacoustics/web-components/verification-grid-CT6ze_9z.js` | 12.4 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/verification-grid-tile-CvcYjTk-.js` | 4.49 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/watch-D97VecW3.js` | 1.42 kB | | `dist/workbench-client/browser/@ecoacoustics/web-components/when-CDK1Tt5Y.js` | 168 B | | `dist/workbench-client/browser/assets/environment.json` | 555 B | | `dist/workbench-client/browser/assets/test-assets/index.html` | 21 B | | `dist/workbench-client/browser/index.html` | 4.79 kB | | `dist/workbench-client/browser/manifest.json` | 147 B | | `dist/workbench-client/browser/polyfills-C5CKP5CH.js` | 12.4 kB | | `dist/workbench-client/browser/styles-ETV6J7SM.css` | 39.6 kB | | `dist/workbench-client/server/952.js` | 4.21 kB |

compressed-size-action

hudson-newey commented 1 day ago

has-many show association performance tests

Methodology

Use the Angular Vite development server

Load the "aaaa" staging project once to warm the server side cache and reducing the variance in server responses.


Open a new browser tab and load the project list page with network request caching disabled

A new browser tab is used to reduce the livlihood of v8 JS caching/optimizations


Click on the "aaaa" staging project

measure the time between the start of the click event and the last frame of the project details page

Results

1 2 3 4 5 6 7 8 9 10 Average Std-dev
show 2.4 2.659 2.576 2.553 2.63 3.113 3.107 2.643 3.109 2.532 2.7322 0.2704255083
filter 2.494 2.615 2.611 2.538 3.125 2.413 3.136 2.573 3.109 3.129 2.7743 0.3071666395