# Benchmarking a function with parameters

 Classic List Threaded
3 messages
Reply | Threaded
Open this post in threaded view
|
Report Content as Inappropriate

## Benchmarking a function with parameters

 Hello,why does the following code not work (no benchmark result shown, no error message or warning):using BenchmarkToolsfunction add2!(vec, result)    """ Calculate the sum of two 3d vectors and store the result in the second parameter. """   [result[i] =  vec[i] + result[i] for i in [1, 2, 3]]   return nothingendfunction main()    vec1=(1.0,2.0, 3.0)    result=zeros(3)    add2!(vec1, result)    println(result)    @benchmark add2!(\$vec1, \$result)endmain()Any hints welcome!Uwe
Reply | Threaded
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Benchmarking a function with parameters

 On Mon, Nov 14, 2016 at 8:16 AM, Uwe Fechner <[hidden email]> wrote: > Hello, > > why does the following code not work (no benchmark result shown, no error > message or warning): > using BenchmarkTools > > function add2!(vec, result) >     """ Calculate the sum of two 3d vectors and store the result in the > second parameter. """ >    [result[i] =  vec[i] + result[i] for i in [1, 2, 3]] >    return nothing > end > > function main() >     vec1=(1.0,2.0, 3.0) >     result=zeros(3) >     add2!(vec1, result) >     println(result) >     @benchmark add2!(\$vec1, \$result) > end > > main() > > Any hints welcome! Use @benchmark in global scope and don't use comprehension as loop. > > Uwe
Reply | Threaded
Open this post in threaded view
|
Report Content as Inappropriate

## Re: Benchmarking a function with parameters

 This was not the problem.The problem was, that I was using "Run" from within Juno. In that case, the result of @benchmark is not printed.Using:println(@benchmark xxxx)solved the problem.UweOn Monday, November 14, 2016 at 3:12:31 PM UTC+1, Yichao Yu wrote:On Mon, Nov 14, 2016 at 8:16 AM, Uwe Fechner <uwe.fec...@...> wrote: > Hello, > > why does the following code not work (no benchmark result shown, no error > message or warning): > using BenchmarkTools > > function add2!(vec, result) >     """ Calculate the sum of two 3d vectors and store the result in the > second parameter. """ >    [result[i] =  vec[i] + result[i] for i in [1, 2, 3]] >    return nothing > end > > function main() >     vec1=(1.0,2.0, 3.0) >     result=zeros(3) >     add2!(vec1, result) >     println(result) >     @benchmark add2!(\$vec1, \$result) > end > > main() > > Any hints welcome! Use @benchmark in global scope and don't use comprehension as loop. > > Uwe
Loading...