nocash will always be faster because it isnt being updated to add more compatibility. compatibility usually costs speed.
compatibility doesn't have to cost speed, but then it comes at another cost: the code becomes more insane. this means that only the person who wrote the code can understand it and find bugs. since desmume is open source, everyone needs to be able to look at it and fix bugs, in case developers get bored. so, we keep the code simple.
look at it this way: pick any 2 of 3: accuracy, speed, clarity. nocash picks accuracy and speed. desmume picks accuracy and clarity.
the number of cores is irrelevant. cores can only be used for certain things, and it doesnt help the parts of desmume that are really slow.
there is another, more subtle point. desmume is accurate _when it doesnt have to be_, under the assumption that one day it may need to be. nocash probably makes a different choice in those cases.
]]>