# Why sortperm(Int32\[\]) return Int64\[\]

**URL:** <https://discourse.julialang.org/t/why-sortperm-int32-return-int64/41216>\
**Category:** Performance\
**Tags:** type\
**Created:** [June 11, 2020, 6:30pm UTC](https://discourse.julialang.org/t/why-sortperm-int32-return-int64/41216 "2020-06-11T18:30:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![BMval](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bmval/32/7647_2.png) [@BMval](https://discourse.julialang.org/u/BMval)\
**Post date:** [June 11, 2020, 6:30pm UTC](https://discourse.julialang.org/t/why-sortperm-int32-return-int64/41216/1 "2020-06-11T18:30:36Z")

</div>

Do you know, why is it?

```julia
a=Int32[1,2,3,4]
sortperm(a)

```

---

<div class="post-metadata">

**Author:** ![pixel27](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pixel27/32/8902_2.png) [@pixel27](https://discourse.julialang.org/u/pixel27)\
**Post date:** [June 11, 2020, 6:37pm UTC](https://discourse.julialang.org/t/why-sortperm-int32-return-int64/41216/2 "2020-06-11T18:37:00Z")

</div>

`sortperm` returns a vector of indexes into array a, so it’s going to be Int32 on a 32bit machine and Int64 on a 64bit machine:

```julia
julia> a = ["z", "m", "a"]
3-element Array{String,1}:
 "z"
 "m"
 "a"

julia> sortperm(a)
3-element Array{Int64,1}:
 3
 2
 1

julia> a[sortperm(a)]
3-element Array{String,1}:
 "a"
 "m"
 "z"
```
