i'm gonna bump this question and add a few more notes.
if anyone could answer this question of mine though i'd greatly appreciate it.
on a side note hearing some further news with the haswell refresh, seems like they'll be improving overclockability to an extent.
http://www.guru3d.com/news_story/intel_devils_canyon_and_pentium_k_launch_june_2nd_2014.html
this makes me wonder though, how would a dual-core haswell pentium @ 5Ghz compare to a hawell i3 @ 3.5Ghz.
even if you factor in HT its still barely slower in multi-threaded workloads, and thats without considering the part that HT doesn't scale well enough like real cores.
but coming from my i3-2100 (sandybridge @ 3.1Ghz) i wonder if its a downgrade, its worth considering for the massive single-threaded performance boost.
[100% = base sandy @ 3.1Ghz]
100% x 1.1(ivy) x 1.1 (haswell) = 121% x ( 5.0Ghz / 3.1Ghz ) = 195% or 95% faster in single-threaded performance.
if taking out HT means decreasing the overall multi-threaded performance by 33%(1/3) its still gonna be 30% faster.
but for a worst case, its getting little to no performance improvements in multi-thread workloads.
edit: adding one more question, if a dual-core has twice the single-threaded performance of a quad-core, wouldn't it perform identical in multi-threaded as well?
e.g. lets say a "dual-core haswell @ 5Ghz [vs] quad-core haswell @ 2.5Ghz"
its actually similar to "intel i5 4core [vs] AMD FX 8core" in a sense of "fast 2core [vs] slow 4core"
theoretically a
5Ghz dual core should perform equal to or faster than
2.5Ghz quad core on multi-threaded workloads, simply because Ghz scales better than more cores.
the threads on the faster core can be executed twice as fast than those on the slower quad core, even if you parallelize the apps the threads still takes more time to finish than the faster cores.
e.g.
5Ghz dual core finishes two threads in 10seconds, while
2.5Ghz quad core finishes four threads in 20seconds, the time it takes to finish is still long even though it did twice more work than the dual core.
now if you factor in multi-threading overhead, which is the main deficiency of core scaling, a quad core might even do worse because threads doesn't finish evenly.
but this is not always the case, if you think of the cores as pipes, threads would form a queue line which means apps takes turns to get processed.
if you put it in direct relation, a single pipe would have twice as long line than having two pipes, which means the stall-rate is higher for the single pipe.
even if the single pipe can execute the queue twice faster than having two slower pipes, if one app stalls or the system interrupts it affects the whole line.
now, imagine each thread taking up 1ms on the line's execution time, if the pipe had 100threads in line(including system), it'd take 100ms for the last thread to get executed.
if you think about it from a different perspective, that 100ms would've felt like a "hang" or "stutter", this is without factoring in stalls and interrupts.
but if you had twice as many pipes, you can split the line into two groups of 50ms instead, which minimizes the perceived hangs or stutter.
this is the reason why multi-tasking benefits a lot more from having more cores than having faster cores.
notes: stalls happens when CPU needs to fetch data from ram,ssd,hdd or anywhere else before starting thread execution.
another cause would be when cache trashes it's current fetched data and collects fresh new data from ram.
while system interrupts... i'm not sure what they're exactly for but i remember system I/O and user interaction is one of the main cause of system interrupts.
now for the main question though, since an i3 isn't exactly a quad-core, i'd expect that a dual-core running at a much faster rate should outperform it in all cases, unless hyper threading does have that much of an impact in performance.