[Python-Dev] cpython (2.7): Fix comment blocks. Adjust blocksize to a power-of-two for better divmod
Scott Dial
scott+python-dev at scottdial.com
Mon Jun 24 03:52:52 CEST 2013
More information about the Python-Dev mailing list
Mon Jun 24 03:52:52 CEST 2013
- Previous message: [Python-Dev] cpython (2.7): Fix comment blocks. Adjust blocksize to a power-of-two for better divmod
- Next message: [Python-Dev] cpython (2.7): Fix comment blocks. Adjust blocksize to a power-of-two for better divmod
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 6/23/2013 8:16 PM, Raymond Hettinger wrote: > Yes, this is a micro-optimization. In working on implementing > deque slicing for 3.4, I restudied the block access patterns. > On an appendleft(), popleft() or extendleft() operation, the left link is > accessed immediately before or after the leftmost entry in the data block. > The old struct arrangement can cause an unnecessary cache miss > when jumping leftward. This was something I overlooked when I > originally wrote the code almost a decade ago. A decade ago, cache lines were 64 bytes, pointers were 4 bytes, and allocations were 16 byte aligned, so there could never be a cache miss. Nowadays, cache lines are still 64 bytes but pointers are 8 bytes, and we still allocating on 16 byte alignment, so you have a 25% chance of a cache miss now. -- Scott Dial scott at scottdial.com
- Previous message: [Python-Dev] cpython (2.7): Fix comment blocks. Adjust blocksize to a power-of-two for better divmod
- Next message: [Python-Dev] cpython (2.7): Fix comment blocks. Adjust blocksize to a power-of-two for better divmod
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list