Bei derartigen Performanceproblemen würde ich immer einen Profiler empfehlen.
Damit kannst du dein Programm laufen lassen und genau herausfinden, in welcher Methode die ganze Rechenzeit drauf geht. Ein ganzes Programm ist dann doch oft zu groß, als dass man noch ganz genau weiß, wo die Zeit verbraten wird.
Es gibt auch immer irgendwelche Genzfälle, die man nicht genau unter Kontrolle hat. Zum Beispiel der hier:
https://stackoverflow.com/a/17331230/1974021 wobei da 32 bit langsamer war.
Aber ohne die Methode zu kennen, wo die Rechenlast erzeugt wird, ist das ein wenig wie stochern im Nebel