36

I've just been Googling about this, but I can't find definitive information (some sites claim things that I'm unsure of). Which is faster for connecting an ethernet cable to a MacBook Pro - a Thunderbolt adapter or a USB 3.0 adapter? I've seen some claims that Thunderbolt can do a full gigabit while USB 3.0 can only do 100mb - but then again I've seen many USB 3.0 adapters advertised on Amazon as being capable of "10/100/1000 gigabit." So, what's the verdict? Which is faster?

(EDIT: I've also just noticed that some USB 2.0 adapters are listed as "10/100/1000 gigabit" capable. Are they really as fast as the USB 3.0 and potentially Thunderbolt adapters?)

13
  • 2
    1) Just the fact that something is compatible (capable of interoperation) with Gigabit Ethernet doesn't mean it can use it's potential fully. Just as 1$ USB 1.0 hubs are advertised as USB 3.1 compatible. Well, technically they are. They limit you to 1.0 speed, obviously.
    – Agent_L
    Jan 24, 2017 at 11:39
  • 7
    2) The difference between various interfaces is not only in top speed, but also in CPU use. What good is 10% faster adapter if it'll hog 20% of your CPU? My guess is that USB will be more taxing.
    – Agent_L
    Jan 24, 2017 at 11:41
  • 1
    3) Gigabit Ethernet is really much. Unless you shuffle dvdrips for a living, it's hard to actually use it's potential fully.
    – Agent_L
    Jan 24, 2017 at 11:41
  • 4
    I remember that 100mbps USB2.0 adapters were a bad idea because they incurred significant USB protocol overhead and consumed a lot of CPU resources because every USB packet raised a processor interrupt, whereas hardware NICs (and Thunderbolt) uses the PCI-Ex bus that doesn't interrupt the processor as much, nor require much CPU babysitting - is this still the case with USB3.0? Has anyone profiled a USB2.0 100mbps adapter compared to a Thunderbolt GigE and USB3.x GigE adapter?
    – Dai
    Jan 24, 2017 at 23:17
  • 2
    @Agent_L Both adapters will hog quite a lot of CPU at full transfer speed, with USB hogging about 1/3 to 1/2 more than Thunderbolt. Still, the transfer speed will be far from being CPU-bound. Jan 25, 2017 at 12:16

12 Answers 12

33

SHORT ANSWER

The answer to your question as asked in the title is it really depends on what ports you have available, personal preference, cost, etc.

I say this because both USB 3.0 and Thunderbolt are faster than ethernet, so it doesn't matter which way you go from a speed point of view.

More specifically (and at the risk of oversimplifying it):

  • Ethernet supports up to 1Gbps*
  • USB 3.0 supports up to 5Gbps
  • USB 3.1 supports up to 10Gbps
  • Thunderbolt 1 up to 10Gbps
  • Thunderbolt 2 up to 20Gbps
  • Thunderbolt 3 up to 40Gbps

*In the overwhelming majority of cases, although 10Gbps ethernet networks do exist.

So, as you can see, it doesn't matter because they're all faster than the ethernet you're converting to.

LONG ANSWER

I'm adding this longer answer due to the various comments below my original answer.

For starters, ethernet can actually support up to 10Gbps. However, in 99.9% of cases (okay, I can't cite a source for that figure - I'm just making a point) this will not be a practical consideration for users unless they intend to connect to an existing 10Gbps ethernet network. While 10Gbps ethernet is starting to gain some traction in terms of network infrastructure, this is only happening in some of the largest organisations or those that have a particular need for this type of setup (such as ISPs, Cloud providers, data centres, etc). It is also worth noting that Apple has never launched a computer (not even Mac Pros or Servers) that natively support 10Gbps ethernet.

One of the reasons for a slow take up rate of 10Gbps ethernet is that it requires full duplex point-to-point links (typically via network switches) and as a result half duplex operation and repeater hubs do not work in 10Gbps ethernet networks. So converting existing ethernet networks to a 10Gbps ethernet network is no trivial matter and is quite expensive. All that said, I expect the deployment of 10Gbps ethernet networks to really start taking off more broadly due to the demands of HD video editing and the requirement of more organisations to have high-performance shared storage systems.

But in terms of typical consumers, this is not something worth considering when wanting to add an ethernet port to a computer and making a decision on the type of adapter they need.

A word about latency

A lot has been made about latency in the comments. While latency is a factor - especially when large networks with many network devices are involved - it's less of an issue for typical consumers.

Does latency matter to typical consumers?

Yes and no. A user on a home network who needs to transfer some photos and documents from a MacBook to an iMac is not going to be too concerned if it takes a couple of seconds for the transfer to commence. On the other hand, if the same user is browsing the web and it takes a couple of seconds for a page to start loading, that can be enough for them to move on to something else. So, latency can be very important to the overall user experience, but how important it is also depends on the application. If we spend hours on the internet we want our pages to load quickly, and latency can definitely affect this (just talk to any Satellite internet user). On the other hand, if we only transfer files across a home network occasionally, it's less important.

So, what is latency?

At the risk of oversimplifying things, latency refers to the delay in transmission time that occurs while data remains in a device's buffered memory (e.g. bridge, router, etc) before it can be sent along its path. While it seems to only be hardware related, latency is in fact affected by both hardware and software factors. Some are listed below:

Hardware factors

  • Traversing the network medium
  • Traversing network switches and devices
  • Transmission through the PCIe bus
  • Memory access times
  • Length of network cables
  • Etc etc

Software factors

  • Firmware running on the adapter
  • The device driver controlling the adapter
  • Operating system execution
  • The portion of the network stack that data has to transmit over
  • Etc etc

Regardless of the factor involved, the impact of latency on network bandwidth can be temporary or persistent.

How is latency measured?

In terms of ethernet networks, latency can be measured with different tools and methods, such as specified by IEEE RFC2544, netperf, or Ping-Pong (no, not the table tennis game). Put very simply, the main difference in these various methods is the point at which latency is measured. Regardless though, while excessive latency can limit the performance of network applications by delaying data arrival, this delay in a typical consumer network is less likely to be noticeable because there aren't usually too many network devices in consumer networks. That is, because there are less adapters, bridges, routers, etc involved between the source and destination, the total latency should be less. While users can do pings and traceroutes to measure this delay, in real world home applications (e.g. transferring files) it's not going to be noticeable unless there is a problem somewhere.

So, is latency a factor in determining the type of ethernet adapter one purchases?

Yes and no. In a sense this is irrelevant in a small/home network because there just aren't going to be many network devices. But if you have to make a decision on which type of adapter to purchase for 6 computers per room in a building of 10 rooms where all the computers are on the same ethernet network connected by multiple bridges etc, then it is much more relevant.

Thunderbolt v USB 3 re latency

So, which type of adapter is better in terms of latency? Generally, a Thunderbolt to Ethernet adapter is likely to have a lower latency then a USB 3 to Ethernet adapter. But, as manufacturers focus on bandwidth or throughput when they publish specs, you're not going to find it easy to try and quantify this or compare adapters.

So, why would I prefer a Thunderbolt to Ethernet adapter? To be honest, in a small/home network I probably wouldn't as I think the difference would be negligible and unnoticeable to the naked eye (so to speak). For me, the choice would come down to what ports I have available (or am willing to sacrifice) and the cost. But if it was a large network my preference for Thunderbolt is based on the real world experiences of users in particular fields.

For example, in the music production industry users have found that with audio devices capable of being connected either through Thunderbolt or USB3, that the overall audio latency of the connection is about 1ms for Thunderbolt and 4.5ms for USB 3. Now, these speeds can be impacted by other factors, but since these setups involve the exact same equipment, it appears that for whatever reason the Thunderbolt connection is faster (probably because Thunderbolt is allowed almost straight access to the CPU).

Whether this difference would be replicated in terms of a typical ethernet network is unclear. By that I mean connecting a PC to specialised audio equipment directly via Thunderbolt is different to connecting a PC to an ethernet network via a Thunderbolt or USB 3 adapter. Even if it was replicated, while audio latency may be noticeable to music professionals, the transfer of files and documents is different again.

13
  • 1
    Thanks! That definitely helps. Also, I think that I read somewhere about USB 3.0 having more latency than Thunderbolt. Can you comment on that? Is that true, and does it make a difference (whether in theory or in practical daily use)? Jan 24, 2017 at 16:58
  • 1
    @user197810 Latency includes the time it takes to negotiate handshakes, serialize data, and deal with traffic in a transfer medium. The difference won't be noticeable because both adapters negotiate down to an ethernet transfer protocol from their native protocol. That being said, thunderbolt to thunderbolt latency is lower because the negotiated transfer protocol (PCI express) has a lower latency than ethernet's many protocols. Jan 24, 2017 at 18:29
  • 1
    Thanks @CodyGray I've just updated my answer to address the existence of 10Gbps. :)
    – Monomeeth
    Jan 25, 2017 at 0:25
  • 6
    @y3sh "The difference won't be noticeable because both adapters negotiate down to an ethernet transfer protocol from their native protocol." is nonsense rubbish. USB has polling latency, and I have no idea about Thunderbolt.
    – user253751
    Jan 25, 2017 at 7:27
  • 2
    @immibis Thunderbolt is PCI-E, so it shouldn't have any as it doesn't poll but interrupts the processor instead every time it receives a packet. Jan 25, 2017 at 10:33
12

I would recommend Thunderbolt, as it is essentially external PCI-Express, which is the same bus an internal network card (among other things like graphics cards, etc) is attached to.

PCI-E (and thus Thunderbolt) support DMA, which allows the network card to write packets to the system's memory directly without involving the CPU. USB as far as I know does not support DMA and will require cooperation from the CPU to copy every single network packet to memory.

1
  • 3
    The lack of DMA also makes USB more secure as rogue devices you attach cannot simply read from main memory! Jan 25, 2017 at 6:31
11

An answer from my personal experience: I've used both

  • original Apple's Thunderbolt to Gigabit Ethernet adapter
  • Cable Matters DB50 USB 3.0 to Gigabit Ethernet adapter

and noticed no difference when testing for speed nor in daily use.

3

USB 3.0 has the following speeds:

  • gross: 500 MByte/s -> 4'000 MBit/s -> 4 GBit/s
  • net: 450 Mbyte/s -> 3'600 MBit/s -> 3.6 GBit/s
  • real value: 275-300 MByte/s -> 2'200 - 2'400 MBit/s -> 2.2-2.4 GBit/s

Thunderbolt 2:

  • gross: 20GBit/s

Thunderbolt 3:

  • gross: 40 GBit/s

Thunderbolt is indeed faster, but with a gigabit connection you won't notice any differences.

1
  • Those are theoretical speed limits. In theory, there's no difference between theory and practice. In practice, there may be. Jan 25, 2017 at 12:24
3

Which is faster for connecting an ethernet cable to a MacBook Pro - a Thunderbolt adapter or a USB 3.0 adapter?

That depends on how fast your network is and how much you are prepared to spend.

At 1 gigabit I would expect little to no difference between USB3 and Thunderbolt. In both cases the Ethernet link should be the bottleneck.

Ethernet doesn't stop at 1 gigabit though. There are a couple of Thunderbolt to dual 10GBASE-T Ethernet adaptors on the market. One from Promise, one from Sonnet. The promise one is cheaper but the one review of it on the apple site says it doesn't live up to it's specs and recommends getting the sonnet one instead.

3

As said in other answers, both interfaces are more than able to handle the 1GB Ethernet bandwidth and in fact most adapters will provide roughly the same performance.

The choice will come down to the price of the adapter (USB3 might be cheaper) and which port you are willing to sacrifice for the Ethernet connectivity.

You may choose the Thunderbolt adapter if you're on the move and don't have a USB3 hub with you. You'll run out of USB port way before running out of Thunderbolt port in this situation.

You may choose the USB adapter if you're on desktop mode with a USB3 hub, that way you can keep the Thunderbolt ports for display or other purposes.

Also note that if you're switching between computers or operating systems, USB adapter are widely compatibles whereas Thunderbolt is only fully supported on macOS at the moment (I had minor issues with the Thunderbolt Ethernet adapter and a MBP under Windows or Linux).

1
  • 1
    That's a good point to consider in terms of what ports I'd be willing to sacrifice in order to use ethernet. Jan 24, 2017 at 16:54
3

Here's a review comparing the two adapters.

  • In terms of raw throughput, there is no significant difference (111-115 MB/s on both adapters)
  • USB is reported to disconnect under heavy loads and to have troubles with wake-up. However, it's not clear to me whether those issues are caused by the USB hub or the adapter itself. To me, it sounds like the hub may not be powered properly.
  • In terms of CPU utilization Thunderbolt adapter is better, but not by a lagre margin (22% CPU load vs. 30% in case of USB 3.0)

What you really need to consider is how versatile the respective adapter will be. If you have other computers with no Thunderbolt slot, USB sounds like a better idea. On the other hand, if you always happen to have a Thunderbolt slot and it's never in use, buying a Thunderbolt adapter will save you a USB slot.

2

The developer Marco Arment answered this question. His data was as follows:

Apple USB Ethernet Adapter: 94 Mbps (it’s a 10/100 device, and only USB 2)

Wireless via 802.11n: 118 Mbps (to the newest AirPort Extreme, 15 feet away)

Thunderbolt to Gigabit Ethernet Adapter: 941 Mbps

2
  • 11
    This doesn't really answer the question. The question was about USB3 not USB2. Jan 24, 2017 at 13:31
  • @PeterGreen Apple doesn't offer a USB 3 Ethernet adapter. Ask in a store and they'll tell you to buy a Thunderbolt -> USB 2 adapter, and then a separate USB 2 -> Ethernet adapter. Jan 25, 2017 at 15:06
0

Any article you read about a USB ethernet adapter only being able to reach 100Mbps is likely false unless a particular adapter is a total dud. What is true is that a USB 2.0 Gigabit Ethernet adapter, or a USB 3.0 Gigabit Ethernet adapter connected to a USB 2.0 port can only handle around 400Mbps - the link speed of USB 2.0 caps out at 480Mbps.

A USB 3.0 Gig-E adapter connected to a USB 3.0 port on a computer with sufficient CPU resources can achieve full gigabit speeds. A thunderbolt adapter may place less stress on the CPU. A thunderbolt adapter is however less universally useful as fewer computers can support it. Worse, it is my experience that you cannot connect a thunderbolt ethernet adapter to a Macbook running Windows while it is running. You must reboot to allow the system to detect the new PCI-E device. (This does not happen in Mac OS.) This could have been fixed by now, but it was enough of a nuisance that I eschewed the objectively superior thunderbolt adapter for a USB 3.0 device instead.

0

A small extension of the very thorough answer by @Monomeeth.

Thunderbolt 3 is a beast of a protocol and hardware solution capable of speeds of 20 Gbps over copper, passive cables or 40 Gbps over active (copper or optical) cables. As a matter of fact Thunderbolt also allows for networking, which should be present in all major operating systems including Linux kernel 4.15+ shortly. So you can connect two computers over Thunderbolt and implement a ~ 10 Gbps network connection with that.

As an alternative, there are "host to host" USB cables in a version with USB 2.0 (not recommended) and USB 3.0 (this is in the spec, section 5.5.2 mentions other "host-to-host applications") speeds. This is also called ethernet over usb and I heard people tell it works well enough and is also supported in Linux. Prolific has some offerings, that should be solid.

In addition to regular USB 3.0 to one gigabit ethernet port adapter you can also get a USB 3.0 to two gigabit ethernet ports adapter, such as StarTech USB32000SPT.

Of course, many of these adapter will have problems, like not reliably or not at all supporting PXE boot, Wake on LAN, VLAN tags or higher MTU sizes. There are no offload engines and support for really advanced stuff like SR-IOV you can just forget about in most cases.

0

I have used both, the TB2 Apple 1 Gbps Ethernet adapter, and the Anker USB 3.0 1 Gbps adapter. I cannot see any difference between the two. Btw, TB carries multiple protocols, TB3 is only able on carrying 4 x 8 Gbps data. Only when mixed with Display Port, you get the 40 Gbps. On all platforms, besides the new Ice Lake SoC, two TB ports share these 32 Gbps.

-1

For the new MacBook pro with thunderbolt 3 over usb type-c port. The "Delock Adapter SuperSpeed USB (USB 3.1 Gen 1) with USB Type-C™ male > Gigabit LAN 10/100/1000 Mbps compact" is your answer. It supports usb down to usb 2.0 but will also do gigabit ethernet over thunderbolt.

3
  • 2
    Your answer recommends a product. How does this answer the OPs question as to which is better, thunderbolt or USB for Ethernet?
    – Allan
    May 12, 2018 at 20:53
  • @Allan it seems the op is looking for the fastest ethernet adapter (although for an older MacBook). Thunderbolt on paper should perform better but you'll lose universability with such an adapter. The delock seems to be the best of both worlds. May 13, 2018 at 5:53
  • He asked the question a year ago and references USB 3.0. How old are you assuming the OP's MacBook Pro really is? You are answering the question never asked and avoiding the one that actually was.
    – Allan
    May 13, 2018 at 12:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .