# 64 bit ruby interpreter

**URL:** <https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831>\
**Category:** Ruby\
**Created:** [May 19, 2010, 3:34am UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831 "2010-05-19T03:34:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 3:34am UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/1 "2010-05-19T03:34:50Z")

</div>

Since when does 64bit ruby interpreter exists?  
Last year I didn’t find those. Were they recently developed?

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 10:16am UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/2 "2010-05-19T10:16:27Z")

</div>

It was 64 bit since you have the possibility to build it from source 🙂

Simone D’Amico

Il giorno 19/mag/2010, alle ore 03.34, Bruno S.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 3:21pm UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/3 "2010-05-19T15:21:36Z")

</div>

Ops 😛

Simone, did you noticed a performance improvement?

regards

Simone D’Amico wrote:\

> It was 64 bit since you have the possibility to build it from source 🙂
> 
> Simone D’Amico
> 
> Il giorno 19/mag/2010, alle ore 03.34, Bruno S.  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 4:31pm UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/4 "2010-05-19T16:31:43Z")

</div>

On 19 May 2010 15:21, Bruno S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Ops 😛
> 
> Simone, did you noticed a performance improvement?

I can say I noticed improvement in the amount of available memory.

32bit systems typically allow mapping only up to 2G of ram to a single  
process.

Thanks

Michal

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 4:48pm UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/5 "2010-05-19T16:48:42Z")

</div>

On 19 May 2010 16:31, Michal S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 19 May 2010 15:21, Bruno S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > Ops 😛
> > 
> > Simone, did you noticed a performance improvement?
> 
> I can say I noticed improvement in the amount of available memory.
> 
> 32bit systems typically allow mapping only up to 2G of ram to a single process.

Also you will notice that 64bit systems can do integer arithmetics on  
larger range of numbers.

If you did lots of integer calculations with numbers in the range  
1073741824-2305843009213693952 you would notice a speed improvement I  
guess because fixnums are much faster than bignums.

You would likely not notice a difference unless you need lots of  
memory or you do lots of integer math in the range which requires  
30-62 bits to represent.

n=1 ; (1…64).each { STDOUT \<\< n \<\< " " \<\< n.class \<\< “\n” ; n = n\*2 }

1 Fixnum  
2 Fixnum  
4 Fixnum  
8 Fixnum  
16 Fixnum  
…  
268435456 Fixnum  
536870912 Fixnum  
1073741824 Bignum  
2147483648 Bignum  
…  
on a 32 bit system and

1 Fixnum  
2 Fixnum  
4 Fixnum  
8 Fixnum  
16 Fixnum  
…  
1152921504606846976 Fixnum  
2305843009213693952 Fixnum  
4611686018427387904 Bignum  
9223372036854775808 Bignum

on a 64bit system.

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 7:19pm UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/6 "2010-05-19T19:19:46Z")

</div>

On 5/19/10, Michal S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Also you will notice that 64bit systems can do integer arithmetics on  
> larger range of numbers.
> 
> If you did lots of integer calculations with numbers in the range  
> 1073741824-2305843009213693952 you would notice a speed improvement I  
> guess because fixnums are much faster than bignums.
> 
> You would likely not notice a difference unless you need lots of  
> memory or you do lots of integer math in the range which requires  
> 30-62 bits to represent.

Integer math on even larger integers should be roughly twice as fast  
too.

You should also notice that your processes now use somewhat more  
memory, principally because all pointers are now twice as large.

Also, most things (besides large integer math) will be a little bit  
slower; many memory operations are now performed on words that are  
twice as large and it takes twice as long to move the data in and out  
of memory.

---

<div class="post-metadata">

**Author:** ![steux](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/d26b3c/32.png) [@steux](https://www.ruby-forum.com/u/steux)\
**Post date:** [May 19, 2010, 6:28pm UTC](https://www.ruby-forum.com/t/64-bit-ruby-interpreter/188831/7 "2010-05-19T18:28:37Z")

</div>

Thanks!  
That’s so much clear now 🙂
