9:59:59.000,9:59:59.000 So Hi there, everyone. 9:59:59.000,9:59:59.000 My name is Chandler Carruth. 9:59:59.000,9:59:59.000 I work for Google 9:59:59.000,9:59:59.000 I work on our C++ language platform 9:59:59.000,9:59:59.000 I work on our C++ compilers 9:59:59.000,9:59:59.000 specifically our 9:59:59.000,9:59:59.000 This is going to be kind of an intro 9:59:59.000,9:59:59.000 You can heckle me 9:59:59.000,9:59:59.000 We're going to 9:59:59.000,9:59:59.000 And the first thing 9:59:59.000,9:59:59.000 How many folks here think that 9:59:59.000,9:59:59.000 Everyone thinks that it's important 9:59:59.000,9:59:59.000 I'm going to tell you why I care about performance 9:59:59.000,9:59:59.000 Most of it comes down 9:59:59.000,9:59:59.000 I actually really 9:59:59.000,9:59:59.000 I think he encapsulates 9:59:59.000,9:59:59.000 Software is getting slower more rapidly than hardware is getting faster 9:59:59.000,9:59:59.000 The hardware will catch up 9:59:59.000,9:59:59.000 It turns 9:59:59.000,9:59:59.000 We're really good at 9:59:59.000,9:59:59.000 It's hard to 9:59:59.000,9:59:59.000 And so it's important to 9:59:59.000,9:59:59.000 And to give you an idea of 9:59:59.000,9:59:59.000 I have to mention, he actually wrote 9:59:59.000,9:59:59.000 I did not actually realize thi 9:59:59.000,9:59:59.000 We're going to come back to 9:59:59.000,9:59:59.000 So, how many foks 9:59:59.000,9:59:59.000 Anyone? 9:59:59.000,9:59:59.000 It's a good book 9:59:59.000,9:59:59.000 Okay. I actually think that the idea that software is getting 9:59:59.000,9:59:59.000 And for a parti 9:59:59.000,9:59:59.000 There was a pretty similar event 9:59:59.000,9:59:59.000 how we look at computing devices 9:59:59.000,9:59:59.000 and this event was the iPhone 9:59:59.000,9:59:59.000 When Steve Jobs 9:59:59.000,9:59:59.000 But he was 9:59:59.000,9:59:59.000 Mobile was 9:59:59.000,9:59:59.000 It took the world 9:59:59.000,9:59:59.000 But that's what happened 9:59:59.000,9:59:59.000 We now have to care about 9:59:59.000,9:59:59.000 And we essentially 9:59:59.000,9:59:59.000 You have to choose one 9:59:59.000,9:59:59.000 We're going to choose small 9:59:59.000,9:59:59.000 The other problem 9:59:59.000,9:59:59.000 What do we do about the battery 9:59:59.000,9:59:59.000 How many folks here have charged their phone today 9:59:59.000,9:59:59.000 That's a problem. 9:59:59.000,9:59:59.000 That's not a feature, that's a bug. 9:59:59.000,9:59:59.000 How many 9:59:59.000,9:59:59.000 We've entered 9:59:59.000,9:59:59.000 Power became relevant 9:59:59.000,9:59:59.000 Power efficient instructions 9:59:59.000,9:59:59.000 Optimizing for power usage 9:59:59.000,9:59:59.000 Because this is mostly total junk science. 9:59:59.000,9:59:59.000 Here is the number one 9:59:59.000,9:59:59.000 Finish running the program 9:59:59.000,9:59:59.000 The faster your software runs, the lest 9:59:59.000,9:59:59.000 If I run 9:59:59.000,9:59:59.000 But it's not, okay? 9:59:59.000,9:59:59.000 Here's the thing. 9:59:59.000,9:59:59.000 We've only 9:59:59.000,9:59:59.000 We figured out how to turn them off. 9:59:59.000,9:59:59.000 if you have a 9:59:59.000,9:59:59.000 the way it conserves power is by turning itself off 9:59:59.000,9:59:59.000 The more 9:59:59.000,9:59:59.000 So we actually want to make code faster 9:59:59.000,9:59:59.000 There are some extreme exceptions to it 9:59:59.000,9:59:59.000 But 99.999999% of the time 9:59:59.000,9:59:59.000 But batteries aren't the only 9:59:59.000,9:59:59.000 You'll note that 9:59:59.000,9:59:59.000 The only thing it is doing is taking electricity and turning it into heat. 9:59:59.000,9:59:59.000 That is it's job 9:59:59.000,9:59:59.000 And unfortunately, electricity costs a lot of money 9:59:59.000,9:59:59.000 And so power becomes very, very important 9:59:59.000,9:59:59.000 And I find it interesting