does Apple deliberately slow its older models before a new release?

Crono

Lifer
Aug 8, 2001
23,720
1,502
136
http://forums.anandtech.com/showthread.php?t=2393078

P.S. This is Ludacris:

Ludacris_2008.jpg


:p
 

Eug

Lifer
Mar 11, 2000
24,054
1,693
126
The iPad 1 sucked a long time ago. It only has 256 MB RAM after all.

h7E61F606
 
Dec 30, 2004
12,553
2
76
my friend works at apple, said this was in the iOS7 update:
Code:
void * memcpy ( void * destination, const void * source, size_t num )
{
#ifdef (IPHONE4 || IPHONE4S)
    int i;
    for(i=0; i<32767; i+2)  i--;
#endif
...
}
 

Red Storm

Lifer
Oct 2, 2005
14,233
234
106
Didn't we have a thread on this very subject not too long ago?

Until we see some tangible proof, I find it hard to accept. Apple doesn't need to do this to get their fans to happily upgrade.
 

Eug

Lifer
Mar 11, 2000
24,054
1,693
126
As mentioned in the other thread, this research falls into the no-sh!t-sherlock category.

Basically, every time Apple releases a new version of iOS, the searches for iPhone slow on the internet spikes. Whodathunkit?!?

Yeah, it's presented as if the spikes occur when new models are released, but when new models are released, that's when a new version of iOS is released too.
 
Last edited:

sm625

Diamond Member
May 6, 2011
8,172
137
106
my friend works at apple, said this was in the iOS7 update:
Code:
void * memcpy ( void * destination, const void * source, size_t num )
{
#ifdef (IPHONE4 || IPHONE4S)
    int i;
    for(i=0; i<32767; i+2)  i--;
#endif
...
}

That code is nonsensical for several reasons.

1. The ifdef (IPHONE4 || IPHONE4S) is a preprocessor conditional. It will either always be present or not based on the condition at the time of compile. This code will not differentiate between an iphone 4 and an iphone 5/6 etc.

2. The for loop does not actually write any memory location other than i. So it is likely that a good complier would simply eliminate this entire loop altogether since i is not used, unless i is used further on within the memcpy function.

3 for(i=0; i<32767; i+2) while technically not a syntax error, it is bad coding nonetheless. The for loop will not increase i by 2 each loop. To do that you would need to change it to i += 2. So what you have is simply a loop that decrements i by one each time ( i--). Now here is where things get a little more complicated. Since i is declared as an int, it will either be a 32 bit singed integer, or possibly a 16 bit signed integer. The 32767 sort of implies that it is a 16 bit integer, but given the sloppy coding elsewhere I cant accept that out of hand. Because we dont know for sure whether i is 16 bit or 32 bit, it means the for loop could process in two radically different ways:

i is 16 bit: So i starts at zero and counts down until it is no longer less than 32767. Which means the loop ends when i goes below -32768 at which point it goes to 32767. So the for loop ends after about 32768 loops.

i is 32 bit: So i starts at zero and counts down until it is less than 32767. But because it is 32 bit it will take 2 billion loops before it is no longer less than 32767!
 
Last edited:

Kaido

Elite Member & Kitchen Overlord
Feb 14, 2004
51,071
6,940
136
The iPad 1 sucked a long time ago. It only has 256 MB RAM after all.

My iPad 1 was plenty zippy when I first got it. It was slow as molasses when I got rid of it. Only thing that changed was the software...
 

Eug

Lifer
Mar 11, 2000
24,054
1,693
126
My iPad 1 was plenty zippy when I first got it. It was slow as molasses when I got rid of it. Only thing that changed was the software...
Bingo. 256 MB RAM, as I said before.
 

pmark

Senior member
Oct 11, 1999
921
1
81
It is understandable that new versions of the OS would cause older hardware to slow down. The problem with this is that Apple doesn't allow you to downgrade to the previous OS. You are stuck with a slow performing device with no other option but to get a new one. This happened to me back on my iPhone 3G and I ended up switching to Android since it pissed me off so much.
 

Mopetar

Diamond Member
Jan 31, 2011
8,456
7,671
136
Didn't we have a thread on this very subject not too long ago?

Yeah, over a month ago. Here it is.

Even the article that the OP posted is old.

The newer software doesn't run as well on older devices, but I don't think there's a deliberate attempt to reduce performance for no reason.

Here's an Ars article where they actually measured how OS updates affected the performance for several common tasks. Basically the initial release killed performance and it took a .1 update release to bring the performance back to what it was previously, even though in most cases it still wasn't as good.
 

Bateluer

Lifer
Jun 23, 2001
27,730
8
0
we should start a class action lawsuit. get the FCC involved.

Anyone who did something so idiotic should be laughed out of the courtroom, then publicly humiliated. Hardware gets better every year, and the software grows to take advantage of it. There's no conspiracy, simply Apple wanting to take full advantage of their latest and greatest. Also applies to Microsoft, Google, Red Hat, Canonical, and pretty much every company that develops software. Your nearly 5 year old iPad 1 is slow because it only had 256MBs of RAM and the current software, both apps and OS, are being developed with 1GB+ in mind.
 

Commodus

Diamond Member
Oct 9, 2004
9,215
6,820
136
As I like to tell people: the truth is often a lot more boring than you want it to be.

I don't think Apple wants to make everyone's phones unusable three years later. It reduces the chances that you'll get repeat customers. The simplest and most likely answer is this: Apple is trying to make the most of its newer hardware, and it sometimes stresses the old hardware in the process. Yep, it sucks if you don't want to buy a replacement every two years, but that doesn't mean it's an evil conspiracy. I'm just hoping that this is less of an issue in the long run as processors improve and memory is more bountiful.
 

luv2liv

Diamond Member
Dec 27, 2001
3,500
94
91
DO you have to update though?

if u dont update, then you cant install apps. my father's ipad1 was working fine too, until he accidentally update n now its useless. and obviously, i cant revert the OS. never supporting any Apple device again.

the situation is not the same on android. i can install apps on 4.1,4.2.....
 

zerogear

Diamond Member
Jun 4, 2000
5,611
9
81
if u dont update, then you cant install apps. my father's ipad1 was working fine too, until he accidentally update n now its useless. and obviously, i cant revert the OS. never supporting any Apple device again.

the situation is not the same on android. i can install apps on 4.1,4.2.....

Well, no, it's actually the same, devs choose to support which versions of the OS they want (due to update in SDK, etc). Some devs no longer support Gingerbread, so all the 2.x versions can't download certain apps. Although devs abandoning older versions of iOS is more prevalent because Apple tends to push "latest and greatest" firmware more persistently (while hiding features).

But yes, I've definitely noticed slowdown during major version changes on my old iPhone 4.
 

khha4113

Member
Feb 1, 2001
139
0
76
Well, no, it's actually the same, devs choose to support which versions of the OS they want (due to update in SDK, etc). Some devs no longer support Gingerbread, so all the 2.x versions can't download certain apps. Although devs abandoning older versions of iOS is more prevalent because Apple tends to push "latest and greatest" firmware more persistently (while hiding features).

But yes, I've definitely noticed slowdown during major version changes on my old iPhone 4.
Gingerbread is almost 4 years old, but most of important apps still support it with their newest versions (Google, Facebook, Amazon, ...)