enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.31k stars 318 forks source link

Dev server works slowly #9690

Open vitvakatu opened 2 months ago

vitvakatu commented 2 months ago

On my Mac dev server (npm run dev) recently became extremely slow and sluggish.

It has two prominent features:

  1. Closing running server with Ctrl-C takes a few seconds, while it was instantly before.
  2. Hot-reloading when code changes works with significant delay of 5-40 seconds, see attached videos below.

The issue is caused by https://github.com/enso-org/enso/pull/9204

After PR:

https://github.com/enso-org/enso/assets/6566674/29216cd3-47b7-4aa1-b803-ba25e73bc056

Before PR:

https://github.com/enso-org/enso/assets/6566674/34ff01bd-20a7-49d9-b4c6-c3844fb9220f

enso-bot[bot] commented 2 months ago

Ilya Bogdanov reports a new STANDUP for the provided date (2024-04-15):

Progress: Further bisecting inside the PR that caused the issue. It is enabled by dependency update, but the diff itself is huge and it is not clear what did change. Rolling back dependencies one by one to find the issue. Turns out the issue is somewhere in transitive dependencies, because rolling back everything does not fix the issue (given the lock file is still the same). It should be finished by 2024-04-30.

enso-bot[bot] commented 1 month ago

Ilya Bogdanov reports a new STANDUP for the provided date (2024-04-16):

Progress: Trying to find the offending package without much success. Found a workaround: setting polling: true in vite config locally. It should be finished by 2024-04-30.

enso-bot[bot] commented 1 month ago

Ilya Bogdanov reports a new STANDUP for the provided date (2024-04-19):

Progress: After some debugging, we found that the issue is caused by fsevents package becoming enabled (it was optional before deps update), and causing vite to use it instead of polling on Mac. Performance capture shows that we spent a lot of seconds waiting for File.close() method call in Node internals. It is unclear why node’s FS primitives are working so poorly on Mac. It should be finished by 2024-04-30.