Thank you for pointing out this mistake. So the 40 Gbps value advertised by Intel is not the pre-encoding rate but post-encoding rate. This means TB3 pre-encoding rate is 40.25gbps. Minus encoding we get post-encoding = 40Gbps (before TB headers).
This leads me to question my USB maths. E.g.: USB 3.2 Gen 1×1 advertised as 5,000 Mbps, but is that pre-encoding or post-encoding?
Is it
`5000 Gbps pre-encoding -> 8b/10b > 4000 Gbps`
or
`6250 Gbps pre-encoding -> 8b/10b > 5000 Gbps`
Same question for USB 3.2 Gen 2×1 which uses 128b/132b (I double checked this time :P!).
USB-IF defines their data rates in terms of link rate. So 5 Gbps after 8b10b encoding is 4 Gbps. Makes sense, since fastest transfers never exceed 500 MB/s over USB3. Same applies for the 128b/132b variant, except it's only a ~3% speed reduction, so it's much harder to see that in practical testing.
This leads me to question my USB maths. E.g.: USB 3.2 Gen 1×1 advertised as 5,000 Mbps, but is that pre-encoding or post-encoding?
Is it `5000 Gbps pre-encoding -> 8b/10b > 4000 Gbps` or `6250 Gbps pre-encoding -> 8b/10b > 5000 Gbps`
Same question for USB 3.2 Gen 2×1 which uses 128b/132b (I double checked this time :P!).