Skip to content

TsurHerman/Fezzik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fezzik

Installation

using Pkg
pkg"add https://github.com/TsurHerman/Fezzik"

Usage

one time setup

using Fezzik
Fezzik.auto_trace()

enables automatic tracing of compiler activity through adding itself to the startup.jl file. After this phase you'll need to re-launch julia , work a little bit to let Fezzik trace your routine and then:

Fezzik.brute_build_julia()
# or 
Fezzik.brute_build_local() #sysimg will be placed in the project folder

builds a new julia system image with all the traced statements baked into the system image resulting in a much smoother experience with julia for the small price of slightly increased loading time, If you are working with Juno's cycler mode then this price is nicely hidden from you.

using Fezzik
blacklist("Mypkg1","Mypkg2")

A persistant blacklist that prevents Fezzik from precompiling statements from your currently in-development modules, as baking them into the sysimg prevents you from seeing changes you make to the code

using Fezzik
blacklist()

call blacklist with no arguments to see all blacklisted modules

using Fezzik
whitelist("Mypkg1","Mypkg2")

make white what was once black

Fezzik.auto_trace(false)

remove itself from the startup.jl and deletes previous traces

trace logs can be found by running the following command

abspath(dirname(pathof(Fezzik)),"../","traces") |> edit

PyPlot

to enable PyPlot showing properly after it was baked into the system image add

PyPlot.ion()

to your startup.jl

Revert

every now and then you'll want to start over, just call

Fezzik.revert()

to go back to the beginning

About

Brute force sysimg building for Julia

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages