azavea / azavea/loam

Use transferrable objects for data transfer

Open
#23 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
226
Forks
14
PR merge metrics
No merged PRs in 30d

Description

Using `transferList` in `Worker.postMessage()` will reduce memory usage and probably boost performance somewhat by allowing large byte arrays (which we deal with a lot) to be transferred between the worker and the main thread rather than copied.
https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Worker.postMessage calls that exchange the large byte arrays described in the issue, then read how data moves between the worker and main thread. The work is done when the relevant transfers use transferList without changing existing behavior; check the surrounding tests or runtime checks for memory and performance effects.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
performance, web-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.