# Performance optimization：Frequently use permutedims function

**URL:** <https://discourse.julialang.org/t/performance-optimization-frequently-use-permutedims-function/128474>\
**Category:** Performance\
**Tags:** question\
**Created:** [April 28, 2025, 3:15am UTC](https://discourse.julialang.org/t/performance-optimization-frequently-use-permutedims-function/128474 "2025-04-28T03:15:42Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![photor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/photor/32/14343_2.png) [@photor](https://discourse.julialang.org/u/photor)\
**Post date:** [April 30, 2025, 1:51pm UTC](https://discourse.julialang.org/t/performance-optimization-frequently-use-permutedims-function/128474/21 "2025-04-30T13:51:56Z")

</div>

Corrected several typos:

```julia
function a(G)
    G = permutedims(G,[1,2,4,3,5]);
    k = sqrt.(sum(abs2.(reshape(G,589824,1,1,14,6)),dims = 1));
    G .*= k;
    G = permutedims(G,[1,2,4,3,5]);
end

function b(G)
    G = PermutedDimsArray(G,[1,2,4,3,5]);
    G .*= sqrt.(sum(abs2, reshape(G,589824,1,1,14,6),dims = 1));
    G = PermutedDimsArray(G,[1,2,4,3,5]);
end

function baz!(G)
    for slice in eachslice(G; dims=(3, 5))
        slice .*= sqrt.(sum(abs2, slice))
    end
    return G
end

```

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [April 30, 2025, 3:24pm UTC](https://discourse.julialang.org/t/performance-optimization-frequently-use-permutedims-function/128474/22 "2025-04-30T15:24:03Z")

</div>

> [@photor](#):
>
> `slice .*= sqrt.(sum(abs2, slice))`

No dot is needed after `sqrt` since its argument is a scalar. Actually, adding a dot might cause a slowdown.

---

<div class="post-metadata">

**Author:** ![photor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/photor/32/14343_2.png) [@photor](https://discourse.julialang.org/u/photor)\
**Post date:** [May 1, 2025, 1:33am UTC](https://discourse.julialang.org/t/performance-optimization-frequently-use-permutedims-function/128474/23 "2025-05-01T01:33:13Z")

</div>

sorry, my bad. I modified here after I encountered the error message (actually caused by the former functions) without further thought.

[Previous page](https://discourse.julialang.org/t/performance-optimization-frequently-use-permutedims-function/128474.md?page=1)
