# Difference in Random numbers between 1.5 & 1.6

**URL:** https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090
**Category:** General Usage
**Tags:** random
**Created:** [October 2, 2021, 3:53am UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090 "2021-10-02T03:53:53Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![bluesmoon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bluesmoon/32/327_2.png) [@bluesmoon](https://discourse.julialang.org/u/bluesmoon)
#### Post date: [October 2, 2021, 3:53am UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090/1 "2021-10-02T03:53:53Z")

</div>

The HISTORY.md file does not show any changes to Random number generation between v1.5 and v1.6, but I still see different numbers generated with the same seed/RNG:

Julia 1.5.4:

```julia
julia> VERSION
v"1.5.4"

julia> using Random

julia> observed=rand(MersenneTwister(1234), 0:100, 5)
5-element Array{Int64,1}:
 10
 37
 74
 12
 95

```

Julia 1.6.3:

```julia
julia> VERSION
v"1.6.3"

julia> using Random

julia> observed=rand(MersenneTwister(1234), 0:100, 5)
5-element Vector{Int64}:
 48
 60
 94
 60
 12

```

Could anyone help explain what’s happening?

Thank you.

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [October 2, 2021, 4:00am UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090/2 "2021-10-02T04:00:23Z")

</div>

The TLDR is don’t assume random numbers will be the same between versions. If you want random numbers that are the same between versions use [StableRNGs](https://juliahub.com/ui/Packages/StableRNGs/fu6AW/1.0.0).

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [October 2, 2021, 6:42am UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090/3 "2021-10-02T06:42:48Z")

</div>

This is [documented](https://docs.julialang.org/en/v1.5/stdlib/Random/) and expected behavior.

As a heads up: julia 1.7 will switch from MersenneTwister to Xoshiro (a much faster and easier to parallelize pseudo RNG), as well as have a different RNG object per task, which will also change the stream of random numbers.

---

<div class="post-metadata">

### Author: ![bluesmoon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bluesmoon/32/327_2.png) [@bluesmoon](https://discourse.julialang.org/u/bluesmoon)
#### Post date: [October 2, 2021, 2:37pm UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090/4 "2021-10-02T14:37:52Z")

</div>

Thanks. I knew about the change in 1.7, but we’re planning a move to 1.6 since it will be the next LTS. I didn’t expect 1.6 to be different, but I understand why.

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [October 2, 2021, 3:46pm UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090/5 "2021-10-02T15:46:40Z")

</div>

If you’re planning such a large version jump, also note that due to performance improvements and improvements to numerical accuracy, exact bitpatterns for floating point results are not guaranteed between versions.

If there was such a guarantee, almost any change to floating point algorithms would be breaking.

---

<div class="post-metadata">

### Author: ![bluesmoon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bluesmoon/32/327_2.png) [@bluesmoon](https://discourse.julialang.org/u/bluesmoon)
#### Post date: [October 3, 2021, 2:27am UTC](https://discourse.julialang.org/t/difference-in-random-numbers-between-1-5-1-6/69090/6 "2021-10-03T02:27:58Z")

</div>

I didn’t think 1.5.4 → 1.6.3 was a big jump, it’s just the next available version even though it is a minor version jump.

FWIW, I have over 70000 unit tests and the only one that fails after changing versions is the one that assumed `random` would be the same.
