reefersleep 2020-08-17T08:33:40.261800Z

Are there ways to optimize the reload time of figwheel / figwheel-main?

reefersleep 2020-08-17T08:34:25.262600Z

Seems to take anywhere between a second and 4 seconds for my app to discover a difference and load it. I wonder if it could be faster.

dominicm 2020-08-17T17:20:56.263100Z

You're usually constrained by compile tones of a transitive namespace

reefersleep 2020-08-18T12:58:14.277900Z

I’ll try different tones, perhaps something a bit darker 🙂

reefersleep 2020-08-18T12:58:46.278100Z

But in all seriousness, yeah, I bet the main problem is all the dependencies/requires

reefersleep 2020-08-18T12:59:14.278300Z

That’s what you were referring to, right?

reefersleep 2020-08-18T13:00:54.278600Z

Sheer size.

dominicm 2020-08-18T14:35:42.278900Z

Yeah *times and sheer size. I had a 1kloc namespace on a project, that I found the day I decided to investigate reload times

reefersleep 2020-08-18T16:35:49.279100Z


reefersleep 2020-08-18T16:36:33.279300Z

Did you manage to shave real time off?

reefersleep 2020-08-18T16:38:08.279500Z

Hm, that sounded like a lot, but actually there are probably a few ns’es like that on this project. I think they’re trunks though, not leaves, in the require-graphs.

dominicm 2020-08-18T19:27:25.279900Z

In my case it was essentially a utility namespace. There wasn't a win quick enough relative to the time I had left on the project so I left it. No point breaking things for people!

reefersleep 2020-08-19T09:05:21.291900Z

Sounds like the right choice. I find that usually, util namespaces are not that difficult to break up into smaller namespaces, so performing the refactoring itself is not that costly or error fraught; however, if the depending ns’es end up requiring most of the util ns’es anyway, the performance gain might not even be palpable.

grumplet 2020-08-17T22:21:39.266600Z

Has anybody attempted a figwheel-main + deps + webpack + test combination yet? I have figwheel-main + deps + webpack working in my project, but am struggling to configure a test environment, and could do with a minimal working example or some docs for reference.