1
00:00:00,080 --> 00:00:07,600
Hyperthreading technology from Intel has been on their computer processors for

2
00:00:04,240 --> 00:00:10,559
over 10 years. And yet, much like the

3
00:00:07,600 --> 00:00:15,839
elusive fox, most people know very little about what it says. Let's start

4
00:00:12,880 --> 00:00:21,279
with an analogy. Let's say I am a CPU and I'm trying to process food or eat as

5
00:00:19,439 --> 00:00:25,359
some people call it. I can only do as much eating as one mouth can do. If I

6
00:00:23,680 --> 00:00:30,400
could add more mouths, then I could process more. This is what multi-core

7
00:00:28,080 --> 00:00:34,800
processors do. But due to cost constraints among other things, it's not

8
00:00:32,640 --> 00:00:38,800
always possible to take that approach. So, I've got just one mouth. I can use

9
00:00:37,200 --> 00:00:44,079
my hand to pick up the food, bring it to my mouth, then grab another bite while

10
00:00:41,600 --> 00:00:47,760
my mouth is busy. If I finish chewing before my hand is ready to deliver me

11
00:00:46,000 --> 00:00:52,239
more food, however, then my mouth is just sitting there doing nothing. If

12
00:00:50,000 --> 00:00:56,960
only I could use two hands to prepare food for my mouth. Then even though my

13
00:00:54,399 --> 00:01:02,320
mouth can't actually work any faster, I wouldn't waste any time. Oh, wait. I can

14
00:01:00,079 --> 00:01:06,799
do that. That's hyperthreading. One processor and intelligent scheduling to

15
00:01:05,119 --> 00:01:12,479
make sure that it's always working. Pretty awesome, right? Well, usually

16
00:01:10,159 --> 00:01:16,799
hyperthreading can't do much for single threaded workloads where you can only

17
00:01:14,560 --> 00:01:20,960
work on one thing at a time. For example, if you wanted to eat a two

18
00:01:18,720 --> 00:01:25,280
scoop ice cream cone, you can't work on the bottom scoop until the top scoop has

19
00:01:23,119 --> 00:01:30,960
already been consumed. And heaven help you if you try to eat the cone first.

20
00:01:28,720 --> 00:01:35,680
In this example, there is no benefit to adding more mouths or more hands. The

21
00:01:33,759 --> 00:01:40,079
opposite of this would be eating from a bowl of candies. Grabbing and eating a

22
00:01:37,759 --> 00:01:44,400
red candy does not in any way depend on finishing the blue candy that's already

23
00:01:41,920 --> 00:01:48,479
in my mouth. In fact, if I had some friends to help me eat it, we could

24
00:01:46,079 --> 00:01:52,960
consume the candy very quickly by adding more hands and more mouths. This is an

25
00:01:50,960 --> 00:01:57,200
example of a multi-threaded workload, and hyperthreading can definitely help

26
00:01:55,680 --> 00:02:00,320
with this. All right, so let's bring it away from the eating analogy for a

27
00:01:58,799 --> 00:02:04,799
minute and bring it back to the real world. Computing tasks that benefit from

28
00:02:02,640 --> 00:02:10,239
hyperthreading and multiple processing cores are video editing, 3D rendering,

29
00:02:07,520 --> 00:02:14,560
and heavy multitasking on your PC. Video editing is a great example because one

30
00:02:12,239 --> 00:02:18,319
frame of a video can be processed while the next one is queued up because the

31
00:02:16,319 --> 00:02:21,920
video is already shot. The PC doesn't have to guess what's going to be in the

32
00:02:19,760 --> 00:02:25,760
next frame. It already knows. Here's another multitasking example. One

33
00:02:24,000 --> 00:02:29,920
processor can be handling your light tasks like Skype and music playback,

34
00:02:28,080 --> 00:02:33,920
antivirus, and whatever else you have running in the background, while another

35
00:02:31,599 --> 00:02:38,560
one can focus all its attention on running a power- hungry video game in

36
00:02:36,000 --> 00:02:42,640
the foreground. So, with that out of the way, how do you actually choose a

37
00:02:40,239 --> 00:02:46,400
processor for your PC? The first thing I hope you got out of this is that

38
00:02:44,319 --> 00:02:51,599
whatever task manager might say, hyperthreading is not the same as

39
00:02:49,440 --> 00:02:55,920
doubling your processing course. It's basically a clever trick for more

40
00:02:53,680 --> 00:03:00,239
efficient scheduling of the work that is done by the processing cores that you

41
00:02:57,920 --> 00:03:04,959
have. It also increases power consumption and heat output a little

42
00:03:02,640 --> 00:03:09,280
bit, but the benefits usually outweigh this drawback. In the real world, you

43
00:03:07,040 --> 00:03:13,360
can get huge double-digit performance improvements all the way to no

44
00:03:11,519 --> 00:03:17,680
performance improvement at all and in very rare cases even very slightly

45
00:03:15,519 --> 00:03:21,280
decreased performance depending on how the software is optimized. So, it's

46
00:03:19,599 --> 00:03:25,200
important to do your research about the software you'll be running. If the work

47
00:03:23,120 --> 00:03:28,640
you do isn't heavily multi-threaded, then you might do just as well to save

48
00:03:26,959 --> 00:03:32,480
your money and buy a processor that doesn't have hyperthreading. Most games

49
00:03:30,720 --> 00:03:36,879
right now, for example, can't take advantage of more than a couple of

50
00:03:33,920 --> 00:03:40,799
threads. However, if the work you do is heavily multi-threaded, then remember

51
00:03:38,480 --> 00:03:44,480
this general rule. Hyperthreading is better than no hyperthreading, but is

52
00:03:42,640 --> 00:03:49,360
not nearly as good as adding more physical processors. In an ideal world,

53
00:03:47,200 --> 00:03:53,200
lots of physical processors, each with hyperthreading, is where it's at.

54
00:03:51,440 --> 00:03:56,879
Speaking of where it's at, audible.com gives you a free audiobook just for

55
00:03:55,120 --> 00:04:00,319
setting up a new account. And if you use the audible.com/Linus

56
00:03:58,640 --> 00:04:04,159
link below me, then it makes me look pretty good. They've got over 150,000

57
00:04:02,640 --> 00:04:08,080
books with everything from fiction to self-help to business. I checked out The

58
00:04:06,159 --> 00:04:12,239
Four Hour Work Week by Timothy Ferris, which is why I am in Hawaii right now.

59
00:04:10,319 --> 00:04:17,199
That's right, suckers. I recorded this before I left and now I'm on vacation.

60
00:04:15,040 --> 00:04:22,320
Actually, I'm I'm not on vacation. I'm in Hawaii working, but um you know, I'm

61
00:04:20,239 --> 00:04:26,560
taking a few days to not work while I'm there. So, you know, yeah, YouTube's a

62
00:04:24,560 --> 00:04:30,240
tough gig, but you can help by heading over to audible.com/Linus

63
00:04:28,400 --> 00:04:33,759
and getting your free audio book today. This has been another episode of Fast as

64
00:04:32,240 --> 00:04:36,880
Possible here on TechQuicki. Don't forget to subscribe for more videos like

65
00:04:35,360 --> 00:04:40,880
this. And if you check out the other link in the video description, you can

66
00:04:38,639 --> 00:04:44,479
suggest future topics for fast as possible. And that is exactly why we're

67
00:04:42,639 --> 00:04:48,720
doing this one about hyperthreading. So many people requested it. So we do read

68
00:04:46,080 --> 00:04:48,720
them and we do
