Skip to content

Instantly share code, notes, and snippets.

@aviatesk
Created July 24, 2019 13:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aviatesk/ca0934a88b8e395a91e19df4e58edd0f to your computer and use it in GitHub Desktop.
Save aviatesk/ca0934a88b8e395a91e19df4e58edd0f to your computer and use it in GitHub Desktop.
Benchmarks for Traceur.jl: Cassette.jl to Vinyl.jl
Display the source blob
Display the rendered blob
Raw
{
"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