Bei
x is someclass
fügt der Compiler einen Aufruf auf System._IsClass ein. Das ist nicht nur >10mal schneller als der ganze Kram, der in TObject.ClassName und dem String vergleich passiert, sondern - und das ist viel wichtiger - es liefert auch True zurück, wenn x eine Instanz einer von someclass abgeleiteten Klasse ist (hallo Polymorphie)
Fast schockierend, dass Delphientwickler immer noch denken, dass etwas, was eine Funktion beinhaltet, die einen string zurückliefert, mit dem etwas gemacht wird, irgendwie schneller sein könnte als ein bisschen Pointer vergleichen.
P.S.: Schneller als is wäre übrigens InheritsFrom wenn man auf den assigned Check verzichten kann - das spart nochmal einen Call