I ported DirectXTk SpriteBatch to SharpDX last month, and recently found a weird behavior in x64 mode, that could potentially affect DirectXTk version as well.
It seems that using map and filling the vertex buffer is a lot slower when doing this in x64 than in x86. But if you render all the vertex buffer to a temporary buffer, and then copy this buffer to the locked region returned by Map, the performance is similar
to x86 (I had something like x4-5 difference, from 400FPS to 90FPS when drawing 5000 sprites).
I suspect DirectXTk SpriteBatch to have the same problem, as the code is very similar.
The code change in SharpDX is here: