Habe gerade mal die Zeit genommen - mit microtime(1). Schmeisst auf meinem Rechner in der Konsole 2700 Werte in 0,033 Sekunden.
Das ist extrem langsam, aber ich glaube auch, dass du schlecht getesetet hast. Ich habe zum Vergleich mal eine einfache lineare Interpolationsfunktion in JavaScript geschrieben, damit komme ich auf knapp 454.000.000 Funtionsauswertungen pro Sekunde.
Du solltest beim Benchmarking unbedingt den zu messenden Code in Isolation testen, und ganz besonders solltest du teure I/O-Operationen wie echo vermeiden.