Coder Social home page Coder Social logo

Comments (2)

fverdugo avatar fverdugo commented on June 12, 2024

These two functions do the same:

function runview(a::Array{Float64,2})
    b = Array{Float64,1}(undef,(3,))
    for j in 1:size(a,2)
        v = view(a,:,j)
        b .= v 
    end
end

function runnoview(a::Array{Float64,2})
    b = Array{Float64,1}(undef,(3,))
    for j in 1:size(a,2)
        for i in 1:size(a,1)
            b[i] = a[i,j]
        end
    end
end

However, the first one seems to suffer from spurious memory allocation

a = zeros(3,100000)
@time runview(a)
@time runview(a)
  0.059263 seconds (136.37 k allocations: 6.273 MiB)
  0.002854 seconds (100.00 k allocations: 4.578 MiB)

but not the second one:

@time runnoview(a)
@time runnoview(a)
  0.037792 seconds (21.14 k allocations: 1.091 MiB)
  0.000632 seconds (5 allocations: 272 bytes)

from gridap.jl.

fverdugo avatar fverdugo commented on June 12, 2024

I leave this comment here just for reference. Closing issue.

from gridap.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.