Package evaluation to test OptimizingIR on Julia 1.14.0-DEV.1840 (ab7ba34e40*) started at 2026-03-03T12:01:08.229 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Activating project at `~/.julia/environments/v1.14` Set-up completed after 14.06s ################################################################################ # Installation # Installing OptimizingIR... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [cc8fcbce] + OptimizingIR v0.3.4 Updating `~/.julia/environments/v1.14/Manifest.toml` [cc8fcbce] + OptimizingIR v0.3.4 Installation completed after 1.2s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompiling packages... 1333.2 ms ✓ OptimizingIR 1 dependency successfully precompiled in 1 seconds. 8 already precompiled. Precompilation completed after 20.17s ################################################################################ # Testing # Testing OptimizingIR Status `/tmp/jl_SazJg2/Project.toml` [cc8fcbce] OptimizingIR v0.3.4 [8dfed614] Test v1.11.0 Status `/tmp/jl_SazJg2/Manifest.toml` [cc8fcbce] OptimizingIR v0.3.4 [2a0f44e3] Base64 v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [f489334b] StyledStrings v1.13.0 [8dfed614] Test v1.11.0 Testing Running tests... DirectedGraph{VX} Vertices [1] VX(1) [2] VX(2) Edges Bool[0 1; 0 1] Test Summary: | Pass Total Time Graph | 52 52 13.3s Test Summary: | Pass Total Time LookupTable | 25 25 0.5s Test Summary: | Pass Total Time OptimizationRule | 11 11 0.1s Test Summary: | Pass Total Time AbstractValue | 11 11 0.2s BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_3args, x, 10.0::Float64, 2.0::Float64) 2 | Pure | call(+, %1, %1) 3 | Impure | output = %2 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %2 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_3args, x, 10.0::Float64, 2.0::Float64) 2 | Pure | call(+, %1, %1) 3 | Impure | output = %2 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %2 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_4args, x, 2.0::Float64, 3.0::Float64, 4.0::Float64) 2 | Impure | output = %1 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %1 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_4args, x, 2.0::Float64, 3.0::Float64, 4.0::Float64) 2 | Impure | output = %1 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %1 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_5args, x, 2.0::Float64, 3.0::Float64, 4.0::Float64, 5.0::Float64) 2 | Impure | output = %1 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %1 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_5args, x, 2.0::Float64, 3.0::Float64, 4.0::Float64, 5.0::Float64) 2 | Impure | output = %1 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %1 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_6args, x, 2.0::Float64, 3.0::Float64, 4.0::Float64, 5.0::Float64, 6.0::Float64) 2 | Impure | output = %1 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %1 --------------- Outputs --------------- 1 | output --------------- BasicBlock --------------- Instructions --------------- 1 | Pure | call(foreign_fun_6args, x, 2.0::Float64, 3.0::Float64, 4.0::Float64, 5.0::Float64, 6.0::Float64) 2 | Impure | output = %1 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- --------------- Variables - Local Immutables --------------- output | %1 --------------- Outputs --------------- 1 | output --------------- Test Summary: | Pass Total Time call | 15 15 6.1s Test Summary: | Pass Total Time OP_GETINDEX | 3 3 1.1s BasicBlock --------------- Instructions --------------- 1 | Impure | call(zeros, Float64::DataType, x) 2 | Impure | vec = %1 3 | Impure | call(getindex, vec, 1::Int64) 4 | Impure | inspect1 = %3 5 | Impure | call(setindex!, vec, 10::Int64, 1::Int64) 6 | Impure | call(getindex, vec, 1::Int64) 7 | Impure | inspect2 = %6 8 | Pure | call(*, 2.0::Float64, %6) 9 | Impure | inspect3 = %8 10 | Impure | inspect4 = %8 --------------- Inputs --------------- 1 | x --------------- Variables - Local Mutables --------------- vec --------------- Variables - Local Immutables --------------- inspect1 | %3 inspect4 | %8 inspect3 | %8 inspect2 | %6 --------------- Outputs --------------- 1 | vec 2 | inspect1 3 | inspect2 4 | inspect3 5 | inspect4 --------------- Test Summary: | Pass Total Time OP_SETINDEX | 13 13 3.7s Test Summary: | Pass Total Time Basic Block | 9 9 1.7s Test Summary: | Pass Total Time Inputs | 9 9 0.3s Test Summary: | Pass Total Time Passes | 24 24 0.4s Test Summary: | Pass Total Time Variables | 18 18 0.9s Test Summary: | Pass Total Time has_symbol | 10 10 0.0s Test Summary: | Pass Total Time gensym | 1 1 0.0s Test Summary: | Pass Total Time Native | 2 2 0.7s Test Summary: | Pass Total Time World Age Problem | 1 1 0.3s Test Summary: | Pass Total Time can't mutate input | 2 2 0.2s [ Info: Benchmarks Compile Native: 0.001720 seconds (500 allocations: 20.188 KiB, 0.04% compilation time) Compile BasicBlockInterpreter 0.000065 seconds (17 allocations: 736 bytes) Compile BasicBlockInterpreter{Float64} 0.258793 seconds (271.86 k allocations: 14.830 MiB, 99.30% compilation time) Compilation Overhead: Native / BasicBlockInterpreter: 50.9x F Call Native 1st 0.093316 seconds (47.06 k allocations: 2.455 MiB, 99.92% compilation time) F Call Native 2nd 0.000022 seconds (12 allocations: 336 bytes) F Call Interpreter 1st 0.164015 seconds (80.65 k allocations: 5.096 MiB, 99.76% compilation time) F Call Interpreter 2nd 0.000113 seconds (35 allocations: 1.375 KiB) F Call Interpreter Float64 1st 1.381729 seconds (675.86 k allocations: 38.606 MiB, 2.94% gc time, 99.91% compilation time) F Call Interpreter Float64 2nd 0.000106 seconds (39 allocations: 1.438 KiB) F Call Julia 1st 0.027165 seconds (16.15 k allocations: 934.266 KiB, 99.75% compilation time) F Call Julia 2nd 0.000018 seconds (12 allocations: 336 bytes) F Call Overhead: BasicBlockInterpreter / julia = 4.4x F Call Overhead: Native / julia = 1.0x [ Info: Compilation + F Call BasicBlockInterpreter: 156.8µs Native: 1700.1µs Native / BasicBlockInterpreter = 10.8x Test Summary: | Pass Total Time Benchmarks | 2 2 4.0s Testing OptimizingIR tests passed Testing completed after 41.01s PkgEval succeeded after 86.89s