On Feb 8, 2008 10:54 AM, Christian Heimes <lists at cheimes.de> wrote: > Andrew MacIntyre wrote: > > However, my tests do show that something is funny with the current > > freelist implementation for floats on at least 2 platforms, and that > > doing without that sort of optimisation for float objects would likely > > not be a hardship with PyMalloc. > > float objects are slightly larger than int objects. On a 32bit OS both > have ob_type pointer of size 4, a ref counter of size 4. But an int > object has a value of type long with 4 bytes and a float stores its > value in a double with size 8. > > I assume that the difference in size leads to a different allocation timing. It's not just size. Architectures may require data aligned on 4, 8, or 16 addresses for optimal performance depending on data type. IIRC, malloc aligns by 8 (not sure if that was a particular arch or very common). I don't know if pymalloc handles alignment. n
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4