Performance and memory consumption worries


#1

Hi,
I am worried by the memory consumption of julia kernel.
I need at least 3 different processes\threads in the application I am writing, each instance consumes around
200 MB before the data.

This is shocking for me coming from C/C++ world…

My co-worker who is a sort of a python advocate , just as I am a julia advocate, keeps pointing out this huge memory consumption.

Another issue is the fact that it takes around 15 seconds for my app to initialize loading modules and spawning additional processes… after precompilation(which really does not help much in my experience)
This can be tolerated for runtime but it is impossible to work with when developing.
I use CloberringReload module to avoid re-starting the app every time I make a change somewhere … and it works great for me , but I have a hard time “converting” other team members to julia because of this “hackish” workflow.

Is there a way to save the binary state of julia kernel , and to load julia directly into that binary state?
so for example starting julia normally and running
A = sum(rand(1_000_000))
for the first time , then saving the binary state and restarting julia with that state
running the code again will be fast because all related code was previously jitted .

So I have worries … especially since I am moving from R&D into production.
If someone from the dev team can comment on those topics and the road map I would very much appreciate it.

tl;dr
Love I julia, I am achieving feats of engineering with it and I am enjoying it!.
I am worried about memory consumption when working with several processes.
I am wondering whether there is or will be a way
to save and load a binary state of julia kernel, to avoid re-jitting ad-infinitum


#2

Related to memory consumption:


#3

What about the binary state … or is there a way to avoid re-jitting the app every time?
Will there be a binary cache similar to the lowered code cache precompile does?


#4

Any news on that? I’m wondering, if you could put the ‘App’ into an own/local package and precompile that and start all with a single call?