Okay, mir fehlen hier grundlegende Informationen um auch nur Ansatzweise raten zu können, an was es liegen könnte.
1.) Welches Format fährst Du über REST?
REST kann prinzipiell mal alles rüberschicken.
HTML, JSON, auch
XML oder
CSV sind grundsätzlich möglich. Was nutzt Du konkret?
2.) Wie sieht das aus, wenn Du mal mit konstanten, nicht berechneten Werten arbeitest?
Also konkret, entweder mit Fiddler das Ergebnis cachen oder noch einfacher, das Ergebnis des REST-Calls durch den Browser abrufen, in eine Datei speichern und dann diese als statisches File auf eine andere
URI legen, die Du dann über Deinen REST Client abrufst. Damit kannst Du eine konstante, sehr kleine Abrufzeit erreichen, die Deine Messung nicht beeinflusst.
3.) Schneide mal den Traffic zwischen Deinem Client und der Service mit Fiddler mit. Vielleicht bekommst Du hier einige zusätzliche Informationen was hier passiert.
Ich würde ohne diese Infos vermutlich darauf tippen, das hier JSON über die Leitung fliegt und der Teil der das JSON parsed nicht ganz so performant ist, wie eine
XML deserialization.
Vielleicht kannst Du mit einem simplen Tweak das Ausgabeformat des Service auf
XML forcieren (sollte bei WCF mit einem
URL-Parameter gehen), und damit könntest Du ggf. in den Genuss der schnelleren
XML-Deserialisierung kommen ohne von REST weg zu müssen. Aber wie gesagt: Ist nur geraten, ohne ausreichend Informationen zu haben.