The best emulator (in my opinion) is DeSmuMe. If your computer is less than a decade old and you turn on dynarec, it should play all games at full speed.
New Desmume. Run fine with pokemon black/white and pokemon black2/white2 even can make easy cheat. But also depend on your PC speciation too, if you got high graphic ram, you will got good speed.
Desmume have a SEARCH CHEAT CODES function! No$gba have a DEBUGGER function! Look likes nobody make better emulator with both search cheat codes and debugger included.... Anyway, you can download latest build from official Desmume download website here! Just scroll down and look at nightly builds.