Skip to content

Instantly share code, notes, and snippets.

@tkf
Last active July 18, 2018 20:50
Show Gist options
  • Save tkf/03e0b87c37db85b60bad91fef0a3efcb to your computer and use it in GitHub Desktop.
Save tkf/03e0b87c37db85b60bad91fef0a3efcb to your computer and use it in GitHub Desktop.
Revision: 6d0eb49e3ef74d2e97c7075af088f3ef1590a43e
.text
Filename: bench_exp_taylor.jl
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $72, %rsp
movq %rsi, %rcx
movq %rdi, -48(%rbp)
xorpd %xmm1, %xmm1
xorl %r8d, %r8d
Source line: 22
movabsq $exp_taylor, %rbx
leaq -112(%rbp), %r13
leaq -96(%rbp), %r12
xorl %edx, %edx
movq %rcx, -64(%rbp)
nop
nop
nop
nop
nop
nop
nop
nop
nop
Source line: 67
L64:
movq 8(%rcx), %r14
Source line: 68
testq %r14, %r14
jle L254
Source line: 66
cmpq $1, %rdx
je L254
incq %rdx
movq %rdx, -56(%rbp)
movl $8, %r15d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
Source line: 50
L112:
movq %r8, -72(%rbp)
movsd %xmm1, -80(%rbp)
movq (%rcx), %rax
movq -8(%rax,%r15), %rcx
movq (%rax,%r15), %rax
movq %rcx, -96(%rbp)
movq %rax, -88(%rbp)
Source line: 22
movq %r13, %rdi
movq %r12, %rsi
callq *%rbx
movq -64(%rbp), %rcx
movsd -80(%rbp), %xmm1 # xmm1 = mem[0],zero
Source line: 155
addsd -104(%rbp), %xmm1
Source line: 22
movq -72(%rbp), %xmm0 # xmm0 = mem[0],zero
addsd -112(%rbp), %xmm0
movd %xmm0, %r8
Source line: 71
addq $16, %r15
decq %r14
jne L112
Source line: 64
movq 24(%rcx), %rdi
Source line: 79
testq %rdi, %rdi
movl $0, %eax
cmovnsq %rdi, %rax
leaq -1(%rax), %rdx
cmpq %rdi, %rdx
movq -56(%rbp), %rdx
jb L64
movq %rsp, %rdx
leaq -16(%rdx), %rsi
movq %rsi, %rsp
movq %rax, -16(%rdx)
movabsq $jl_bounds_error_ints, %rax
movl $1, %edx
movq %rcx, %rdi
callq *%rax
L254:
movq -48(%rbp), %rax
Source line: 24
movq %r8, (%rax)
movsd %xmm1, 8(%rax)
leaq -40(%rbp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
nop
nop
nop
nop
nop
nop
Revision: 3f62885ecf2523c7e0707863a2c11ccf93fccc5f
.text
Filename: bench_exp_taylor.jl
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $72, %rsp
movq %rsi, %rcx
movq %rdi, -48(%rbp)
xorpd %xmm1, %xmm1
xorl %r8d, %r8d
Source line: 22
movabsq $exp_taylor, %rbx
leaq -112(%rbp), %r13
leaq -96(%rbp), %r12
xorl %edx, %edx
movq %rcx, -64(%rbp)
nop
nop
nop
nop
nop
nop
nop
nop
nop
Source line: 67
L64:
movq 8(%rcx), %r14
Source line: 68
testq %r14, %r14
jle L254
Source line: 66
cmpq $1, %rdx
je L254
incq %rdx
movq %rdx, -56(%rbp)
movl $8, %r15d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
Source line: 50
L112:
movq %r8, -72(%rbp)
movsd %xmm1, -80(%rbp)
movq (%rcx), %rax
movq -8(%rax,%r15), %rcx
movq (%rax,%r15), %rax
movq %rcx, -96(%rbp)
movq %rax, -88(%rbp)
Source line: 22
movq %r13, %rdi
movq %r12, %rsi
callq *%rbx
movq -64(%rbp), %rcx
movsd -80(%rbp), %xmm1 # xmm1 = mem[0],zero
Source line: 155
addsd -104(%rbp), %xmm1
Source line: 22
movq -72(%rbp), %xmm0 # xmm0 = mem[0],zero
addsd -112(%rbp), %xmm0
movd %xmm0, %r8
Source line: 71
addq $16, %r15
decq %r14
jne L112
Source line: 64
movq 24(%rcx), %rdi
Source line: 79
testq %rdi, %rdi
movl $0, %eax
cmovnsq %rdi, %rax
leaq -1(%rax), %rdx
cmpq %rdi, %rdx
movq -56(%rbp), %rdx
jb L64
movq %rsp, %rdx
leaq -16(%rdx), %rsi
movq %rsi, %rsp
movq %rax, -16(%rdx)
movabsq $jl_bounds_error_ints, %rax
movl $1, %edx
movq %rcx, %rdi
callq *%rax
L254:
movq -48(%rbp), %rax
Source line: 24
movq %r8, (%rax)
movsd %xmm1, 8(%rax)
leaq -40(%rbp), %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop
nop
nop
nop
nop
nop
nop
using ForwardDiff: Dual
using BenchmarkTools
const SUITE = BenchmarkGroup()
function exp_taylor_expr(p::Int, x)
@assert p >= 0
if p == 0
return 1
elseif p == 1
return :(1 + $x)
else
return :($(exp_taylor_expr(p - 1, x)) + $x^$p / $(factorial(p)))
end
end
@generated exp_taylor(::Val{p}, x) where p = exp_taylor_expr(p, :x)
function loop_exp(vp::Val, xs)
y = zero(eltype(xs))
@simd for x in xs
@inbounds y += exp_taylor(vp, x)
end
return y
end
for p in 2:8
xs = Dual.(0:0.01:1, 1.0)
SUITE["exp_$p"] = @benchmarkable loop_exp($(Val(p)), $xs)
end
function print_code_native(io = STDOUT)
code_native(io, loop_exp, (Val{8}, Vector{Dual{:t,Float64,1}}))
end

Benchmark Report for ForwardDiff

Job Properties

  • Time of benchmarks:
    • Target: 13 Jul 2018 - 20:05
    • Baseline: 13 Jul 2018 - 20:06
  • Package commits:
    • Target: 6d0eb4
    • Baseline: 3f6288
  • Julia commits:
    • Target: 9d11f6
    • Baseline: 9d11f6
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: None
    • Baseline: None

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds).

ID time ratio memory ratio
["exp_8"] 1.07 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • []

Julia versioninfo

Target

Julia Version 0.6.4
Commit 9d11f62bcb (2018-07-09 19:09 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
  WORD_SIZE: 64
           Ubuntu 16.04.4 LTS
  uname: Linux 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64
Memory: 125.78757095336914 GB (54301.31640625 MB free)
Uptime: 3.132596e6 sec
Load Avg:  0.40576171875  0.1533203125  0.10888671875
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz: 
          speed         user         nice          sys         idle          irq
#1-48  1200 MHz  208180789 s      10063 s  183044233 s  14638496517 s          0 s

  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=16)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

Baseline

Julia Version 0.6.4
Commit 9d11f62bcb (2018-07-09 19:09 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
  WORD_SIZE: 64
           Ubuntu 16.04.4 LTS
  uname: Linux 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64
Memory: 125.78757095336914 GB (54274.70703125 MB free)
Uptime: 3.132628e6 sec
Load Avg:  0.64111328125  0.2353515625  0.13818359375
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz: 
          speed         user         nice          sys         idle          irq
#1-48  1200 MHz  208183963 s      10063 s  183044453 s  14638645641 s          0 s

  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=16)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)
--- bench_exp_taylor-HEAD~0.code_native 2018-07-13 20:36:08.285788252 -0700
+++ bench_exp_taylor-HEAD~1.code_native 2018-07-13 20:36:26.826107092 -0700
@@ -1,4 +1,4 @@
-Revision: 6d0eb49e3ef74d2e97c7075af088f3ef1590a43e
+Revision: 3f62885ecf2523c7e0707863a2c11ccf93fccc5f
.text
Filename: bench_exp_taylor.jl
Revision: 6d0eb49e3ef74d2e97c7075af088f3ef1590a43e
.text
Filename: bench_log1mx_taylor.jl
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $104, %rsp
movq %rdi, -64(%rbp)
Source line: 7
movsd (%rdx), %xmm2 # xmm2 = mem[0],zero
Source line: 155
movsd 8(%rdx), %xmm0 # xmm0 = mem[0],zero
movabsq $139981706026032, %rax # imm = 0x7F5007DCDC30
movapd (%rax), %xmm1
movapd %xmm0, -112(%rbp)
xorpd %xmm1, %xmm0
Source line: 7
xorpd %xmm2, %xmm1
Source line: 65
testq %rsi, %rsi
movl $1, %ebx
cmovgq %rsi, %rbx
Source line: 221
subq $2, %rbx
seto -42(%rbp)
Source line: 164
incq %rbx
seto -41(%rbp)
xorl %r13d, %r13d
movabsq $__pow, %r15
movapd %xmm2, -96(%rbp)
jmp L354
nop
nop
nop
nop
nop
Source line: 165
L112:
cmpb $0, -41(%rbp)
jne L399
testq %rbx, %rbx
Source line: 68
jle L405
Source line: 66
cmpq $1, %r13
je L405
incq %r13
movl $2, %r14d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
L160:
movapd %xmm1, -128(%rbp)
movapd %xmm0, -144(%rbp)
Source line: 716
xorps %xmm1, %xmm1
cvtsi2sdq %r14, %xmm1
Source line: 714
movsd %xmm1, -56(%rbp)
movapd %xmm2, %xmm0
callq *%r15
movsd -56(%rbp), %xmm1 # xmm1 = mem[0],zero
movapd -96(%rbp), %xmm4
Source line: 315
ucomisd %xmm0, %xmm0
jnp L227
Source line: 714
movapd %xmm1, %xmm2
addsd %xmm4, %xmm2
ucomisd %xmm2, %xmm2
jnp L433
L227:
movsd %xmm0, -72(%rbp)
Source line: 716
leaq -1(%r14), %r12
xorps %xmm1, %xmm1
cvtsi2sdq %r12, %xmm1
Source line: 714
movsd %xmm1, -80(%rbp)
movapd %xmm4, %xmm0
callq *%r15
movapd -96(%rbp), %xmm2
movsd -80(%rbp), %xmm1 # xmm1 = mem[0],zero
addsd %xmm2, %xmm1
Source line: 315
ucomisd %xmm1, %xmm1
jp L286
ucomisd %xmm0, %xmm0
jp L455
L286:
movsd -56(%rbp), %xmm3 # xmm3 = mem[0],zero
Source line: 155
movapd %xmm3, %xmm1
mulsd -112(%rbp), %xmm1
Source line: 155
mulsd %xmm1, %xmm0
Source line: 155
divsd %xmm3, %xmm0
movsd -72(%rbp), %xmm4 # xmm4 = mem[0],zero
Source line: 9
divsd %xmm3, %xmm4
movapd -144(%rbp), %xmm1
Source line: 155
subsd %xmm0, %xmm1
movapd %xmm1, %xmm0
movapd -128(%rbp), %xmm1
Source line: 9
subsd %xmm4, %xmm1
Source line: 71
incq %r14
cmpq %rbx, %r12
jl L160
Source line: 222
L354:
cmpb $0, -42(%rbp)
je L112
Source line: 66
cmpq $1, %r13
je L405
movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
Source line: 222
addq $2404728, %rdi # imm = 0x24B178
movabsq $jl_throw, %rax
callq *%rax
Source line: 66
L399:
cmpq $1, %r13
jne L477
L405:
movq -64(%rbp), %rax
Source line: 11
movsd %xmm1, (%rax)
movsd %xmm0, 8(%rax)
addq $104, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
Source line: 315
L433:
movabsq $jl_throw, %rax
movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
callq *%rax
Source line: 315
L455:
movabsq $jl_throw, %rax
movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
callq *%rax
L477:
movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
Source line: 165
addq $2404728, %rdi # imm = 0x24B178
movabsq $jl_throw, %rax
callq *%rax
nop
nop
nop
nop
nop
nop
Revision: 3f62885ecf2523c7e0707863a2c11ccf93fccc5f
.text
Filename: bench_log1mx_taylor.jl
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $104, %rsp
movq %rdi, -64(%rbp)
Source line: 7
movsd (%rdx), %xmm2 # xmm2 = mem[0],zero
Source line: 155
movsd 8(%rdx), %xmm0 # xmm0 = mem[0],zero
movabsq $140611618937504, %rax # imm = 0x7FE2B1991AA0
movapd (%rax), %xmm1
movapd %xmm0, -112(%rbp)
xorpd %xmm1, %xmm0
Source line: 7
xorpd %xmm2, %xmm1
Source line: 65
testq %rsi, %rsi
movl $1, %ebx
cmovgq %rsi, %rbx
Source line: 221
subq $2, %rbx
seto -42(%rbp)
Source line: 164
incq %rbx
seto -41(%rbp)
xorl %r13d, %r13d
movabsq $__pow, %r15
movapd %xmm2, -96(%rbp)
jmp L350
nop
nop
nop
nop
nop
Source line: 165
L112:
cmpb $0, -41(%rbp)
jne L395
testq %rbx, %rbx
Source line: 68
jle L401
Source line: 66
cmpq $1, %r13
je L401
incq %r13
movl $2, %r14d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
L160:
movapd %xmm1, -128(%rbp)
movapd %xmm0, -144(%rbp)
Source line: 716
xorps %xmm1, %xmm1
cvtsi2sdq %r14, %xmm1
Source line: 714
movsd %xmm1, -56(%rbp)
movapd %xmm2, %xmm0
callq *%r15
movsd -56(%rbp), %xmm1 # xmm1 = mem[0],zero
movapd -96(%rbp), %xmm4
Source line: 315
ucomisd %xmm0, %xmm0
jnp L227
Source line: 714
movapd %xmm1, %xmm2
addsd %xmm4, %xmm2
ucomisd %xmm2, %xmm2
jnp L429
L227:
movsd %xmm0, -72(%rbp)
Source line: 716
leaq -1(%r14), %r12
xorps %xmm1, %xmm1
cvtsi2sdq %r12, %xmm1
Source line: 714
movsd %xmm1, -80(%rbp)
movapd %xmm4, %xmm0
callq *%r15
movapd -96(%rbp), %xmm2
movsd -80(%rbp), %xmm1 # xmm1 = mem[0],zero
addsd %xmm2, %xmm1
Source line: 315
ucomisd %xmm1, %xmm1
jp L286
ucomisd %xmm0, %xmm0
jp L451
L286:
movsd -56(%rbp), %xmm1 # xmm1 = mem[0],zero
Source line: 411
mulsd %xmm1, %xmm0
Source line: 155
mulsd -112(%rbp), %xmm0
Source line: 155
divsd %xmm1, %xmm0
movsd -72(%rbp), %xmm3 # xmm3 = mem[0],zero
Source line: 9
divsd %xmm1, %xmm3
movapd -144(%rbp), %xmm1
Source line: 155
subsd %xmm0, %xmm1
movapd %xmm1, %xmm0
movapd -128(%rbp), %xmm1
Source line: 9
subsd %xmm3, %xmm1
Source line: 71
incq %r14
cmpq %rbx, %r12
jl L160
Source line: 222
L350:
cmpb $0, -42(%rbp)
je L112
Source line: 66
cmpq $1, %r13
je L401
movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
Source line: 222
addq $2404728, %rdi # imm = 0x24B178
movabsq $jl_throw, %rax
callq *%rax
Source line: 66
L395:
cmpq $1, %r13
jne L473
L401:
movq -64(%rbp), %rax
Source line: 11
movsd %xmm1, (%rax)
movsd %xmm0, 8(%rax)
addq $104, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
Source line: 315
L429:
movabsq $jl_throw, %rax
movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
callq *%rax
Source line: 315
L451:
movabsq $jl_throw, %rax
movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
callq *%rax
L473:
movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
Source line: 165
addq $2404728, %rdi # imm = 0x24B178
movabsq $jl_throw, %rax
callq *%rax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
using ForwardDiff: Dual
using BenchmarkTools
const SUITE = BenchmarkGroup()
function log1mx_taylor(p, x)
y = -x
@simd for n in 2:p
@inbounds y -= x^n / n
end
return y
end
for x in Dual.(-0.1:0.1:0.1, 1.0)
SUITE["log(1-$x)"] = @benchmarkable log1mx_taylor(1000, $x)
end
function print_code_native(io = STDOUT)
code_native(io, log1mx_taylor, (Int, Dual{:t,Float64,1}))
end

Benchmark Report for ForwardDiff

Job Properties

  • Time of benchmarks:
    • Target: 13 Jul 2018 - 20:06
    • Baseline: 13 Jul 2018 - 20:07
  • Package commits:
    • Target: 6d0eb4
    • Baseline: 3f6288
  • Julia commits:
    • Target: 9d11f6
    • Baseline: 9d11f6
  • Julia command flags:
    • Target: None
    • Baseline: None
  • Environment variables:
    • Target: None
    • Baseline: None

Results

A ratio greater than 1.0 denotes a possible regression (marked with ❌), while a ratio less than 1.0 denotes a possible improvement (marked with ✅). Only significant results - results that indicate possible regressions or improvements - are shown below (thus, an empty table means that all benchmark results remained invariant between builds).

ID time ratio memory ratio
["log(1-Dual{Void}(0.0,1.0))"] 1.07 (5%) ❌ 1.00 (1%)

Benchmark Group List

Here's a list of all the benchmark groups executed by this job:

  • []

Julia versioninfo

Target

Julia Version 0.6.4
Commit 9d11f62bcb (2018-07-09 19:09 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
  WORD_SIZE: 64
           Ubuntu 16.04.4 LTS
  uname: Linux 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64
Memory: 125.78757095336914 GB (54282.76953125 MB free)
Uptime: 3.132667e6 sec
Load Avg:  0.9228515625  0.36376953125  0.1875
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz: 
          speed         user         nice          sys         idle          irq
#1-48  1216 MHz  208188350 s      10063 s  183044822 s  14638829554 s          0 s

  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=16)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

Baseline

Julia Version 0.6.4
Commit 9d11f62bcb (2018-07-09 19:09 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
  WORD_SIZE: 64
           Ubuntu 16.04.4 LTS
  uname: Linux 4.4.0-119-generic #143-Ubuntu SMP Mon Apr 2 16:08:24 UTC 2018 x86_64 x86_64
Memory: 125.78757095336914 GB (54279.9453125 MB free)
Uptime: 3.132698e6 sec
Load Avg:  0.9541015625  0.42578125  0.2138671875
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz: 
          speed         user         nice          sys         idle          irq
#1-48  1246 MHz  208191439 s      10063 s  183045024 s  14638973959 s          0 s

  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell MAX_THREADS=16)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)
--- bench_log1mx_taylor-HEAD~0.code_native 2018-07-13 20:35:30.529138896 -0700
+++ bench_log1mx_taylor-HEAD~1.code_native 2018-07-13 20:35:49.665468020 -0700
@@ -1,4 +1,4 @@
-Revision: 6d0eb49e3ef74d2e97c7075af088f3ef1590a43e
+Revision: 3f62885ecf2523c7e0707863a2c11ccf93fccc5f
.text
Filename: bench_log1mx_taylor.jl
@@ -15,7 +15,7 @@
movsd (%rdx), %xmm2 # xmm2 = mem[0],zero
Source line: 155
movsd 8(%rdx), %xmm0 # xmm0 = mem[0],zero
- movabsq $139981706026032, %rax # imm = 0x7F5007DCDC30
+ movabsq $140611618937504, %rax # imm = 0x7FE2B1991AA0
movapd (%rax), %xmm1
movapd %xmm0, -112(%rbp)
xorpd %xmm1, %xmm0
@@ -34,7 +34,7 @@
xorl %r13d, %r13d
movabsq $__pow, %r15
movapd %xmm2, -96(%rbp)
- jmp L354
+ jmp L350
nop
nop
nop
@@ -43,13 +43,13 @@
Source line: 165
L112:
cmpb $0, -41(%rbp)
- jne L399
+ jne L395
testq %rbx, %rbx
Source line: 68
- jle L405
+ jle L401
Source line: 66
cmpq $1, %r13
- je L405
+ je L401
incq %r13
movl $2, %r14d
nop
@@ -81,7 +81,7 @@
movapd %xmm1, %xmm2
addsd %xmm4, %xmm2
ucomisd %xmm2, %xmm2
- jnp L433
+ jnp L429
L227:
movsd %xmm0, -72(%rbp)
Source line: 716
@@ -99,47 +99,46 @@
ucomisd %xmm1, %xmm1
jp L286
ucomisd %xmm0, %xmm0
- jp L455
+ jp L451
L286:
- movsd -56(%rbp), %xmm3 # xmm3 = mem[0],zero
-Source line: 155
- movapd %xmm3, %xmm1
- mulsd -112(%rbp), %xmm1
-Source line: 155
+ movsd -56(%rbp), %xmm1 # xmm1 = mem[0],zero
+Source line: 411
mulsd %xmm1, %xmm0
Source line: 155
- divsd %xmm3, %xmm0
- movsd -72(%rbp), %xmm4 # xmm4 = mem[0],zero
+ mulsd -112(%rbp), %xmm0
+Source line: 155
+ divsd %xmm1, %xmm0
+ movsd -72(%rbp), %xmm3 # xmm3 = mem[0],zero
Source line: 9
- divsd %xmm3, %xmm4
+ divsd %xmm1, %xmm3
movapd -144(%rbp), %xmm1
Source line: 155
subsd %xmm0, %xmm1
movapd %xmm1, %xmm0
movapd -128(%rbp), %xmm1
Source line: 9
- subsd %xmm4, %xmm1
+ subsd %xmm3, %xmm1
Source line: 71
incq %r14
cmpq %rbx, %r12
jl L160
Source line: 222
-L354:
+L350:
cmpb $0, -42(%rbp)
je L112
Source line: 66
cmpq $1, %r13
- je L405
- movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
+ je L401
+ movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
Source line: 222
addq $2404728, %rdi # imm = 0x24B178
movabsq $jl_throw, %rax
callq *%rax
Source line: 66
-L399:
+L395:
cmpq $1, %r13
- jne L477
-L405:
+ jne L473
+L401:
movq -64(%rbp), %rax
Source line: 11
movsd %xmm1, (%rax)
@@ -153,17 +152,17 @@
popq %rbp
retq
Source line: 315
-L433:
+L429:
movabsq $jl_throw, %rax
- movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
+ movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
callq *%rax
Source line: 315
-L455:
+L451:
movabsq $jl_throw, %rax
- movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
+ movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
callq *%rax
-L477:
- movabsq $139982143165416, %rdi # imm = 0x7F5021EB13E8
+L473:
+ movabsq $140612358067176, %rdi # imm = 0x7FE2DDA753E8
Source line: 165
addq $2404728, %rdi # imm = 0x24B178
movabsq $jl_throw, %rax
@@ -171,6 +170,10 @@
nop
nop
nop
+ nop
+ nop
+ nop
+ nop
nop
nop
nop
using PkgBenchmark: judge, target_result, baseline_result,
writeresults, export_markdown
script, report_name, = ARGS
mkpath(dirname(report_name))
JUDGE_BASELINE = get(ENV, "JUDGE_BASELINE", "HEAD^")
results = judge(
"ForwardDiff",
JUDGE_BASELINE;
script = script)
writeresults("$(report_name)_target.json", target_result(results))
writeresults("$(report_name)_baseline.json", baseline_result(results))
export_markdown("$(report_name)_judge.md", results)
showall(results)
println()
REPORTS = \
bench_exp_taylor_judge.md \
bench_log1mx_taylor_judge.md
DIFF_CODE_NATIVE = \
bench_exp_taylor_native.diff \
bench_log1mx_taylor_native.diff
all: $(REPORTS) $(DIFF_CODE_NATIVE)
$(REPORTS): %_judge.md: judge.jl %.jl
julia --color=yes $^ $*
$(DIFF_CODE_NATIVE): %_native.diff: native_dump.jl %.jl
julia --color=yes $^ $* 'HEAD~0'
julia --color=yes $^ $* 'HEAD~1'
diff -u $*-'HEAD~0'.code_native $*-'HEAD~1'.code_native > $@ || true
script, report_name, rev, = ARGS
mkpath(dirname(report_name))
cd(Pkg.dir("ForwardDiff")) do
run(`git checkout $rev`)
@eval include(script)
run(`git checkout -`) # rollback
end
real_rev = cd(Pkg.dir("ForwardDiff")) do
strip(readstring(`git rev-parse $rev`))
end
open("$(report_name)-$rev.code_native", "w") do io
println(io, "Revision: ", real_rev)
println(io)
print_code_native(io)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment