# Painful compile time

**URL:** https://discourse.julialang.org/t/painful-compile-time/12549
**Category:** General Usage
**Tags:** question
**Created:** [July 21, 2018, 1:55am UTC](https://discourse.julialang.org/t/painful-compile-time/12549 "2018-07-21T01:55:39Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [July 21, 2018, 1:55am UTC](https://discourse.julialang.org/t/painful-compile-time/12549/1 "2018-07-21T01:55:39Z")

</div>

I have developed a big simulation system with Python+PyQt, and is changing some time-consuming tasks to Julia as the plugins. ZMQ is used for the data exchange between Python and Julia.

The system developed using Python runs quite smoothly, however, the start time of the Julia code is quite long. The Julia programs are still under developing and need to **_restart Julia code quite often for the debugging purpose_**. **It takes a lot of time on waiting for the start of Julia code after any change of the cod** e. The waiting experience is even worse than the compile time of C++ and Java (They are not so slow). How can I improve the coding experience?

The start time of some code is as followings.

 ![Julia2](https://global.discourse-cdn.com/julialang/original/3X/4/7/470b6b409f6f301a31c12002cc257c968d84ef62.png)

Windows 7; SSD disk; Julia 0.6.4

---

<div class="post-metadata">

### Author: ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)
#### Post date: [July 21, 2018, 2:07am UTC](https://discourse.julialang.org/t/painful-compile-time/12549/2 "2018-07-21T02:07:53Z")

</div>

The standard workaround for long start-up times is [Revise.jl](https://github.com/timholy/Revise.jl). You can also include frequently-used (but infrequently-modified) packages in your system image: [https://docs.julialang.org/en/stable/devdocs/sysimg/](https://docs.julialang.org/en/stable/devdocs/sysimg/)

---

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [July 21, 2018, 2:15am UTC](https://discourse.julialang.org/t/painful-compile-time/12549/3 "2018-07-21T02:15:15Z")

</div>

The code is not put in a Module. Moreover, the code use parallel calculation and ZMQ, and I have to restart the whole code to make it work correctly. The code is edited and run using Juno. I am not sure if it is suitable to use Revise.jl. I will have a try. @stillyslalom Thanks!

---

<div class="post-metadata">

### Author: ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)
#### Post date: [July 21, 2018, 9:00am UTC](https://discourse.julialang.org/t/painful-compile-time/12549/4 "2018-07-21T09:00:42Z")

</div>

[PackageCompiler](https://github.com/JuliaLang/PackageCompiler.jl) might help. You might have to put some of the code in module.

---

<div class="post-metadata">

### Author: ![zhangliye](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhangliye/32/3208_2.png) [@zhangliye](https://discourse.julialang.org/u/zhangliye)
#### Post date: [July 21, 2018, 1:20pm UTC](https://discourse.julialang.org/t/painful-compile-time/12549/5 "2018-07-21T13:20:52Z")

</div>

I have tried Revise.jl, which avoids a lot of unnecessary restart of Julia. Maybe I can try PackageCompiler when the program is tested carefully. Thank you so much for your advice!
