The gain is very workload dependent, so there are no generally-applicable rules.
There are many applications which need synchronization between threads, so the speed of the slowest thread has a disproportionate influence on the performance.
In such applications, on X3D2 the slowest thread has a 3 times bigger cache on an X3D2 vs. X3D. That can make a lot of difference.
So there will be applications with no difference in performance, but also applications with a very large difference in performance, equal to the best performance differences shown by X3D vs. plain 9950X.