Skip to content

Commit

Permalink
Merge pull request #547 from JuliaOpt/macroprecomp
Browse files Browse the repository at this point in the history
Add precompilation hints for macros (~10% improvement)
  • Loading branch information
IainNZ committed Aug 25, 2015
2 parents 56b0f93 + a1518ee commit 7939a0b
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/v0.4/parseExpr_staged.jl
Original file line number Diff line number Diff line change
Expand Up @@ -549,3 +549,6 @@ function parseExpr(x, aff::Symbol, lcoeffs::Vector, rcoeffs::Vector, newaff::Sym
end
end
end

# Semi-automatically generated precompilation hints
include("precompile.jl")
117 changes: 117 additions & 0 deletions src/v0.4/precompile.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Copyright 2015, Iain Dunning, Joey Huchette, Miles Lubin, and contributors
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

Base.precompile(addToExpression_reorder, (Array{AffExpr,1},Float64,Array{Float64,1}))
Base.precompile(addToExpression_reorder, (Array{AffExpr,1},Float64,Array{Int,1}))
Base.precompile(addToExpression_reorder, (Array{AffExpr,1},Float64,Int))
Base.precompile(addToExpression_reorder, (Array{AffExpr,2},Float64,Array{Float64,2}))
Base.precompile(addToExpression_reorder, (Array{AffExpr,2},Float64,Int))
Base.precompile(addToExpression_reorder, (Array{QuadExpr,1},Array{Variable,1}))
Base.precompile(addToExpression_reorder, (Array{QuadExpr,1},Float64,Array{Int,1}))
Base.precompile(addToExpression_reorder, (Array{QuadExpr,1},Float64,Int))
Base.precompile(addToExpression_reorder, (Float64,Array{Float64,2}))
Base.precompile(addToExpression_reorder, (Float64,Array{Int,1}))
Base.precompile(addToExpression_reorder, (Float64,Array{Int,2}))
Base.precompile(addToExpression_reorder, (Float64,Array{Variable,1}))
Base.precompile(addToExpression_reorder, (Float64,Array{Variable,2}))
Base.precompile(addToExpression_reorder, (Float64,Float64))
Base.precompile(addToExpression_reorder, (Float64,Float64,Array{Int,1}))
Base.precompile(addToExpression_reorder, (Float64,Float64,Int))
Base.precompile(addToExpression_reorder, (Float64,Float64,AffExpr))
Base.precompile(addToExpression_reorder, (Float64,Float64,SOCExpr))
Base.precompile(addToExpression_reorder, (Float64,Float64,Norm{2}))
Base.precompile(addToExpression_reorder, (Float64,Float64,QuadExpr))
Base.precompile(addToExpression_reorder, (Float64,Float64,Variable))
Base.precompile(addToExpression_reorder, (Float64,Int))
Base.precompile(addToExpression_reorder, (Float64,Int,Variable))
Base.precompile(addToExpression_reorder, (Float64,AffExpr))
Base.precompile(addToExpression_reorder, (Float64,AffExpr,Float64))
Base.precompile(addToExpression_reorder, (Float64,AffExpr,AffExpr))
Base.precompile(addToExpression_reorder, (Float64,SOCExpr))
Base.precompile(addToExpression_reorder, (Float64,Norm{2}))
Base.precompile(addToExpression_reorder, (Float64,QuadExpr))
Base.precompile(addToExpression_reorder, (Float64,Variable))
Base.precompile(addToExpression_reorder, (Float64,Variable,Float64))
Base.precompile(addToExpression_reorder, (Float64,Variable,Variable))
Base.precompile(addToExpression_reorder, (AffExpr,(Array{AffExpr,2},Array{Float64,2},Array{AffExpr,1})))
Base.precompile(addToExpression_reorder, (AffExpr,(Array{AffExpr,2},Array{Int,2},Array{AffExpr,1})))
Base.precompile(addToExpression_reorder, (AffExpr,(Int,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Int,Int,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Float64,Float64)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Float64,Float64,Int)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Float64,Float64,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Float64,Int)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Float64,Int,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Float64,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Int,Norm{2})))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Int,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Int,Variable,Float64)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Variable,Float64)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Variable,Int)))
Base.precompile(addToExpression_reorder, (AffExpr,(Float64,Variable,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,(Int,Variable,Variable)))
Base.precompile(addToExpression_reorder, (AffExpr,Array{Float64,1},Variable))
Base.precompile(addToExpression_reorder, (AffExpr,Array{Float64,2},Array{AffExpr,1}))
Base.precompile(addToExpression_reorder, (AffExpr,Array{Int,2},Array{Variable,1}))
Base.precompile(addToExpression_reorder, (AffExpr,Array{AffExpr,2}))
Base.precompile(addToExpression_reorder, (AffExpr,Float64))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,Array{Float64,2}))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,Float64))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,Int))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,AffExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,SOCExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,Norm{2}))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,QuadExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Float64,Variable))
Base.precompile(addToExpression_reorder, (AffExpr,Int))
Base.precompile(addToExpression_reorder, (AffExpr,Int,AffExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Int,Norm{2}))
Base.precompile(addToExpression_reorder, (AffExpr,Int,QuadExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Int,Variable))
Base.precompile(addToExpression_reorder, (AffExpr,AffExpr))
Base.precompile(addToExpression_reorder, (AffExpr,AffExpr,AffExpr))
Base.precompile(addToExpression_reorder, (AffExpr,AffExpr,SOCExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Norm{2}))
Base.precompile(addToExpression_reorder, (AffExpr,QuadExpr))
Base.precompile(addToExpression_reorder, (AffExpr,Variable))
Base.precompile(addToExpression_reorder, (AffExpr,Variable,Array{Float64,2}))
Base.precompile(addToExpression_reorder, (AffExpr,Variable,Float64))
Base.precompile(addToExpression_reorder, (AffExpr,Variable,Int))
Base.precompile(addToExpression_reorder, (AffExpr,Variable,Variable))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,Float64))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,Int))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,AffExpr))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,SOCExpr))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,Norm{2}))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,QuadExpr))
Base.precompile(addToExpression_reorder, (SOCExpr,Float64,Variable))
Base.precompile(addToExpression_reorder, (SOCExpr,Variable))
Base.precompile(addToExpression_reorder, (QuadExpr,(Float64,Int,Variable)))
Base.precompile(addToExpression_reorder, (QuadExpr,(Float64,Int,Variable,Int,Variable)))
Base.precompile(addToExpression_reorder, (QuadExpr,(Float64,Int,Variable,Variable)))
Base.precompile(addToExpression_reorder, (QuadExpr,(Float64,Variable,Variable)))
Base.precompile(addToExpression_reorder, (QuadExpr,(Int,Variable,Variable)))
Base.precompile(addToExpression_reorder, (QuadExpr,Float64,Int))
Base.precompile(addToExpression_reorder, (QuadExpr,Float64,AffExpr))
Base.precompile(addToExpression_reorder, (QuadExpr,Float64,SOCExpr))
Base.precompile(addToExpression_reorder, (QuadExpr,Float64,Norm{2}))
Base.precompile(addToExpression_reorder, (QuadExpr,Float64,QuadExpr))
Base.precompile(addToExpression_reorder, (QuadExpr,Float64,Variable))
Base.precompile(addToExpression_reorder, (QuadExpr,Int))
Base.precompile(addToExpression_reorder, (QuadExpr,Int,QuadExpr))
Base.precompile(addToExpression_reorder, (QuadExpr,Int,Variable))
Base.precompile(addToExpression_reorder, (QuadExpr,AffExpr,Float64))
Base.precompile(addToExpression_reorder, (QuadExpr,AffExpr,AffExpr))
Base.precompile(addToExpression_reorder, (QuadExpr,QuadExpr))
Base.precompile(addToExpression_reorder, (QuadExpr,QuadExpr,Int))
Base.precompile(addToExpression_reorder, (QuadExpr,Variable))
Base.precompile(addToExpression_reorder, (QuadExpr,Variable,Variable))
Base.precompile(parseCurly, (Expr,Symbol,Vector{Any},Vector{Any},Symbol))
Base.precompile(parseExpr, (Expr,Symbol,Vector{Any},Vector{Any},Symbol))
Base.precompile(parseExpr, (Float64,Symbol,Vector{Any},Vector{Any},Symbol))
Base.precompile(parseExpr, (Int,Symbol,Vector{Any},Vector{Any},Symbol))
Base.precompile(parseExpr, (Symbol,Symbol,Vector{Any},Vector{Any},Symbol))
Base.precompile(parseSum, (Expr,Symbol,Vector{Any},Vector{Any},Symbol))

0 comments on commit 7939a0b

Please sign in to comment.