mapbox / mapbox/mapbox-gl-js

Data-Join method performance regression between 0.42.0 and 0.44.1

Open
#6,367 12 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

performance :zap:
Dominant language
TypeScript
Stars
12.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

We're joining a 5M geojson with ~300K features to a map layer. Performance was fine (and still is fine in Safari) but with the recent Chrome 65 update has become a disaster in terms of memory and CPU usage. Memory consumption sometimes grows so high (3G+) that the Chrome tab crashes; even if it doesn't crash the app becomes severely unresponsive to the point of unusable. It's the same with Chromium.

I've included a couple of screenshots from profiling (a few seconds of panning around the map after our features have rendered) for info but let me know if I can help further.

![screen shot 2018-03-20 at 8 55 39 am](https://user-images.githubusercontent.com/2245347/37667092-6b51d3cc-2c1e-11e8-9af2-947211931a35.png)

![screen shot 2018-03-20 at 9 00 08 am](https://user-images.githubusercontent.com/2245347/37667206-ad1bcfba-2c1e-11e8-8648-8a1a570a5cc4.png)

### Expected Behavior

Map rendering performs just as well as in Chrome 64 and below.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.