Created
July 24, 2019 13:19
-
-
Save aviatesk/ca0934a88b8e395a91e19df4e58edd0f to your computer and use it in GitHub Desktop.
Benchmarks for Traceur.jl: Cassette.jl to Vinyl.jl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Simple benchmarks for Traceur.jl" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"***\n", | |
"## With Cassette.jl" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# Define tester functions\n", | |
"function naivesum(xs)\n", | |
" s = 0\n", | |
" for x in xs\n", | |
" s += x\n", | |
" end\n", | |
" return s\n", | |
"end\n", | |
"\n", | |
"function horriblesuninner(x)\n", | |
" global s\n", | |
" s += x\n", | |
"end\n", | |
"function horriblesum(xs)\n", | |
" global s = 0\n", | |
" for x in xs\n", | |
" horriblesuninner(x)\n", | |
" end\n", | |
" return s\n", | |
"end\n", | |
"\n", | |
"function bettersum(xs::AbstractArray{T}) where T\n", | |
" s = zero(T)\n", | |
" for x in xs\n", | |
" s += x\n", | |
" end\n", | |
" s\n", | |
"end\n", | |
"\n", | |
"xs = [1., 2., 3.]\n", | |
"horriblesum(xs)\n", | |
"naivesum(xs)\n", | |
"bettersum(xs);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Setup benchmarks\n", | |
"└ @ Main In[2]:4\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"@timecalls (macro with 1 method)" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"using Traceur\n", | |
"using BenchmarkTools: @belapsed\n", | |
"\n", | |
"@info \"Setup benchmarks\"\n", | |
"\n", | |
"firstcalltimes = Dict()\n", | |
"macro timefirstcall(ex)\n", | |
" timed = string(ex)\n", | |
" quote\n", | |
" @info \"Benchmarking the first call for `@trace $($timed)`\"\n", | |
" time = @elapsed @trace $ex\n", | |
" push!(firstcalltimes, $timed => time)\n", | |
" end\n", | |
"end\n", | |
"callstimes = Dict()\n", | |
"macro timecalls(ex)\n", | |
" timed = string(ex)\n", | |
" quote\n", | |
" @info \"Benchmarking calls for `@trace $($timed)`\"\n", | |
" time = @belapsed @trace $ex\n", | |
" push!(callstimes, $timed => time)\n", | |
" end\n", | |
"end" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Benchmarking the first call for `@trace naivesum(xs)`\n", | |
"└ @ Main In[2]:10\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Info: Benchmarking the first call for `@trace horriblesum(xs)`\n", | |
"└ @ Main In[2]:10\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Info: Benchmarking the first call for `@trace bettersum(xs)`\n", | |
"└ @ Main In[2]:10\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 2.38478\n", | |
" \"naivesum(xs)\" => 56.1993\n", | |
" \"horriblesum(xs)\" => 2.55198" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Benchmark for the first call\n", | |
"@timefirstcall naivesum(xs)\n", | |
"@timefirstcall horriblesum(xs)\n", | |
"@timefirstcall bettersum(xs)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Benchmarking calls for `@trace naivesum(xs)`\n", | |
"└ @ Main In[2]:19\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Info: Benchmarking calls for `@trace horriblesum(xs)`\n", | |
"└ @ Main In[2]:19\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Benchmarking calls for `@trace bettersum(xs)`\n", | |
"└ @ Main In[2]:19\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 0.111202\n", | |
" \"naivesum(xs)\" => 0.14778\n", | |
" \"horriblesum(xs)\" => 0.128111" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Benchmark for multiple calls\n", | |
"@timecalls naivesum(xs)\n", | |
"@timecalls horriblesum(xs)\n", | |
"@timecalls bettersum(xs)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Benchmarks" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 2.38478\n", | |
" \"naivesum(xs)\" => 56.1993\n", | |
" \"horriblesum(xs)\" => 2.55198" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Benchmark for the first call\n", | |
"firstcalltimes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 0.111202\n", | |
" \"naivesum(xs)\" => 0.14778\n", | |
" \"horriblesum(xs)\" => 0.128111" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Benchmark for multiple calls\n", | |
"callstimes" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"***\n", | |
"## With Vinyl.jl" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [], | |
"source": [ | |
"# Define tester functions\n", | |
"function naivesum(xs)\n", | |
" s = 0\n", | |
" for x in xs\n", | |
" s += x\n", | |
" end\n", | |
" return s\n", | |
"end\n", | |
"\n", | |
"function horriblesuninner(x)\n", | |
" global s\n", | |
" s += x\n", | |
"end\n", | |
"function horriblesum(xs)\n", | |
" global s = 0\n", | |
" for x in xs\n", | |
" horriblesuninner(x)\n", | |
" end\n", | |
" return s\n", | |
"end\n", | |
"\n", | |
"function bettersum(xs::AbstractArray{T}) where T\n", | |
" s = zero(T)\n", | |
" for x in xs\n", | |
" s += x\n", | |
" end\n", | |
" s\n", | |
"end\n", | |
"\n", | |
"xs = [1., 2., 3.]\n", | |
"horriblesum(xs)\n", | |
"naivesum(xs)\n", | |
"bettersum(xs);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Setup benchmarks\n", | |
"└ @ Main In[2]:4\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"@timecalls (macro with 1 method)" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"using Traceur\n", | |
"using BenchmarkTools: @belapsed\n", | |
"\n", | |
"@info \"Setup benchmarks\"\n", | |
"\n", | |
"firstcalltimes = Dict()\n", | |
"macro timefirstcall(ex)\n", | |
" timed = string(ex)\n", | |
" quote\n", | |
" @info \"Benchmarking the first call for `@trace $($timed)`\"\n", | |
" time = @elapsed @trace $ex\n", | |
" push!(firstcalltimes, $timed => time)\n", | |
" end\n", | |
"end\n", | |
"callstimes = Dict()\n", | |
"macro timecalls(ex)\n", | |
" timed = string(ex)\n", | |
" quote\n", | |
" @info \"Benchmarking calls for `@trace $($timed)`\"\n", | |
" time = @belapsed @trace $ex\n", | |
" push!(callstimes, $timed => time)\n", | |
" end\n", | |
"end" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Benchmarking the first call for `@trace naivesum(xs)`\n", | |
"└ @ Main In[2]:10\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Info: Benchmarking the first call for `@trace horriblesum(xs)`\n", | |
"└ @ Main In[2]:10\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Info: Benchmarking the first call for `@trace bettersum(xs)`\n", | |
"└ @ Main In[2]:10\n" | |
] | |
} | |
], | |
"source": [ | |
"# Benchmark for the first call\n", | |
"@timefirstcall naivesum(xs)\n", | |
"@timefirstcall horriblesum(xs)\n", | |
"@timefirstcall bettersum(xs);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"inputHidden": false, | |
"outputHidden": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Info: Benchmarking calls for `@trace naivesum(xs)`\n", | |
"└ @ Main In[2]:19\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Int64\n", | |
"└ @ In[1]:3\n", | |
"┌ Warning: s is assigned as Float64\n", | |
"└ @ In[1]:5\n", | |
"┌ Warning: naivesum returns Union{Float64, Int64}\n", | |
"└ @ In[1]:3\n", | |
"┌ Info: Benchmarking calls for `@trace horriblesum(xs)`\n", | |
"└ @ Main In[2]:19\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:19\n", | |
"┌ Warning: horriblesum returns Any\n", | |
"└ @ In[1]:15\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: uses global variable Main.s\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: dynamic dispatch to Main.s + x\n", | |
"└ @ In[1]:12\n", | |
"┌ Warning: horriblesuninner returns Any\n", | |
"└ @ In[1]:11\n", | |
"┌ Info: Benchmarking calls for `@trace bettersum(xs)`\n", | |
"└ @ Main In[2]:19\n" | |
] | |
} | |
], | |
"source": [ | |
"# Benchmark for multiple calls\n", | |
"@timecalls naivesum(xs)\n", | |
"@timecalls horriblesum(xs)\n", | |
"@timecalls bettersum(xs);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 1.76396\n", | |
" \"naivesum(xs)\" => 50.1986\n", | |
" \"horriblesum(xs)\" => 2.03988" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Benchmark for the first call\n", | |
"firstcalltimes" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> `firstcalltimes` with Cassette\n", | |
"\n", | |
"```\n", | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 2.38478\n", | |
" \"naivesum(xs)\" => 56.1993\n", | |
" \"horriblesum(xs)\" => 2.55198\n", | |
"```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 0.0865407\n", | |
" \"naivesum(xs)\" => 0.132469\n", | |
" \"horriblesum(xs)\" => 0.11657" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Benchmark for multiple calls\n", | |
"callstimes" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> `callstimes` with Cassette\n", | |
"\n", | |
"```\n", | |
"Dict{Any,Any} with 3 entries:\n", | |
" \"bettersum(xs)\" => 0.111202\n", | |
" \"naivesum(xs)\" => 0.14778\n", | |
" \"horriblesum(xs)\" => 0.128111\n", | |
"```" | |
] | |
} | |
], | |
"metadata": { | |
"@webio": { | |
"lastCommId": null, | |
"lastKernelId": null | |
}, | |
"kernelspec": { | |
"display_name": "Julia 1.1.1", | |
"language": "julia", | |
"name": "julia-1.1" | |
}, | |
"language_info": { | |
"file_extension": ".jl", | |
"mimetype": "application/julia", | |
"name": "julia", | |
"version": "1.1.1" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment