adding whole-project loading#5002
Conversation
d0b01cc to
b29e37a
Compare
|
@fendor let me know if you have a better field name than |
| <*> o .:? "sessionLoading" .!= sessionLoading defValue | ||
| <*> loadingPref o | ||
| <*> o .:? "linkSourceTo" .!= linkSourceTo defValue |
There was a problem hiding this comment.
We should definitely not deprecate sessionLoading without warning first. :) Happy to make sure that the next HLS announcement on the Haskell blog includes it.
|
Can we open an issue proposing what the changes to HLS are? |
fendor
left a comment
There was a problem hiding this comment.
Changes look good to me, primarily a question of UX and naming
|
Created issue #5005 to document design |
There was a problem hiding this comment.
Good work so far @Saizan, I'm seeing a couple of things that I'd like you to clarify:
-
There seems to be both
needed-onlyandonly-needed, is that desired? We should probably stick withmulti: needed-only. -
You seem to have introduced the double usage of
multipleComponents(full words, plural) andmultiComponent(abbreviated, singular). Please stay withmultipleComponents:
[ show @String old_value ++ " (deprecated)"
==> | old_value <- ["singleComponent","multiComponent"]
]- I feel like there is a similar disparity between "session loading" and "component loading" but maybe I'm wrong?
|
@Kleidukos thanks for catching that, decided to give a name to these strings, see last commit. |
renamed "sessionLoading" config to "componentsLoading" deprecated old values in favor of: "single", "multi: needed-only", "multi: whole-project"
|
@Saizan Do you know if we can expect an increase in memory consumption when enabling this feature? Would you mind sharing memory profiles before / after your patch? Not a blocker but this could certainly bring light on stuff we could work on afterwards. :) |
|
@Kleidukos you mean compared to Or would you like to know how much memory extra "unneeded" components amount to? I would assume it's going to be fairly dependent on their composition, do you have a project in mind we could take as a benchmark? Otherwise I suppose the natural choice is HLS itself. |
|
@Saizan Starting with HLS itself is not a bad choice at all! Basically what I'm interested in is what the average end-user can expect in terms of resource consumption after upgrading, with a project that has multiple packages.
Something like this, yes. Basically if you have a workflow of "navigating a codebase with multiple components / packages in a project, what does that change for the end-user in terms of reactivity and does that blow up their memory usage". :) |
Updates hls to hie-bios 0.20 and takes advantage of its new LoadMode to add "whole project" components loading: loads all components specified in the cradle from the start, regardless of which files are open.
TODO: