• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSInteger vs int vs int32_t
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSInteger vs int vs int32_t


  • Subject: Re: NSInteger vs int vs int32_t
  • From: Jens Alfke <email@hidden>
  • Date: Mon, 02 Jul 2012 16:42:01 -0700

On Jul 2, 2012, at 4:34 PM, Kyle Sluder wrote:

> Not necessarily. The CPU could just mask off the top 32 bits when executing 32-bit opcodes on in-cache data. Each 32-bit value is still taking up 64 bits of cache space. That's probably a lot easier and more efficient than making it possible to address arbitrary 32-bit slices of cache.

I … I don't think we're talking about the same thing at all. I'm talking about the aggregate size of data structures, not how individual values are aligned in the cache. The cache stores big chunks of data like 256 bytes, anyway; it doesn't do anything like masking individual words.

Here's a contrived example. Let's say I have a struct whose members include four NSIntegers. If I convert those to int32_t, I make the struct 16 bytes smaller*. If I have a million of those in memory, I've saved 16 megabytes of address space, which is a nontrivial fraction of the size of the L2 cache.

—Jens

* Assuming optimal packing and no padding by malloc.
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


References: 
 >NSInteger vs int vs int32_t (From: Andreas Grosam <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Jens Alfke <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Chris Hanson <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Charles Srstka <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Jens Alfke <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Kyle Sluder <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Jens Alfke <email@hidden>)
 >Re: NSInteger vs int vs int32_t (From: Kyle Sluder <email@hidden>)

  • Prev by Date: Re: NSInteger vs int vs int32_t
  • Next by Date: Re: NSInteger vs int vs int32_t
  • Previous by thread: Re: NSInteger vs int vs int32_t
  • Next by thread: Re: NSInteger vs int vs int32_t
  • Index(es):
    • Date
    • Thread