I was planning on some really cool technical junk for tonight’s post, but midway through the day I caught word of a friend’s death. (more…)
2010.08.12
2010.07.31
Cache is King -or- Things are about to get MESI
A few days ago I was chatting with some friends, and the topic of caching came up. I mentioned MESI, which is the basis for modern multicore cache coherence (There are variants like MOESI and MERSI, but the general idea is the same). It then occurred to me that I’ve never actually made a test to see the effects of MESI in action. (more…)
2010.06.28
NX in action
NX, or the No eXecute bit, is an interesting technology that prevents instructions on the stack from getting executed. The reason for this is security (stack smashing becomes a bit more difficult for a would-be attacker), and the implications are typically few and far between. (more…)
2010.05.11
2010.02.08
2009.10.14
Reality Distortion Field Deflector (RDFD)
Mid last month (September, for those keeping score at home), a peculiar email arrived in my inbox. Therein, I was referred by an Apple employee with an opportunity to potentially work there. To say the least, my interest was piqued. After all, after spending the past 2 years up to my elbows in some of their software’s guts, reverse engineering, patching, and exploring, I’d like to think I had some authority on the subject.
2009.09.23
@synchronized, NSLock, pthread, OSSpinLock showdown, done right
Somewhere out there on the internet, there’s a “showdown” between @synchronized, NSLock, pthread mutexes, and OSSpinLock. It aims to measure their performance relative to each other, but uses sloppy code to perform the measuring. As a result, while the performance ordering is correct (@synchronized is the slowest, OSSpinLock is the fastest), the relative cost is severely misrepresented. Herein I attempt to rectify that benchmark.
2009.09.12
CollegeAdvantage referral bonus again
Last year, CollegeAdvantage’s 529 college savings plan offered a referral bonus where those opening new accounts, as well as those referring them, received $25 bonuses. They’ve recently reinstated that bonus, so I figured I’d post some shameless self-promoting in the hopes of getting y’all some free college savings (for kids, etc), and get some for me as well (for our future children). (more…)
2009.09.05
alloc, allocWithZone showdown
This brief post will explore some more mundane (but still measurable!) aspects of optimizing Objective-C software. This time around, we’ll talk about object allocation. (more…)
2009.07.02
Pricey ivars
(apologies in advance — this will be a rather technical post. It’s eventually intended for fdiv.net, but while it’s getting migrated I figured I’d plop it down here.)
Instance Variables (or, more briefly, ivars) are a pretty simple trend in Object Oriented Languages. They’re data that get carried along inside an object, helping to define its state. While it would be fun to elaborate more on this, this particular article isn’t intended to teach the basics of OOP. So if you’re unsure of what an ivar is, this article probably isn’t for you. (more…)