=========================
objspace.std.withsmallint
=========================

* **name:** withsmallint

* **description:** use tagged integers

* **command-line:** --objspace-std-withsmallint

* **command-line for negation:** --no-objspace-std-withsmallint

* **option type:** boolean option

* **default:** False

* **requirements:**

  + `objspace.std.withprebuiltint`_ must be set to 'False'

  + `translation.taggedpointers`_ must be set to 'True'

.. _`objspace.std.withprebuiltint`: objspace.std.withprebuiltint.html
.. _`translation.taggedpointers`: translation.taggedpointers.html





Use "tagged pointers" to represent small enough integer values: Integers that
fit into 31 bits (respective 63 bits on 64 bit machines) are not represented by
boxing them in an instance of ``W_IntObject``. Instead they are represented as a
pointer having the lowest bit set and the rest of the bits used to store the
value of the integer. This gives a small speedup for integer operations as well
as better memory behaviour.
