En resumen: parece depender del navegador.
Más información detallada: Encontré esta prueba JSPerf: http://jsperf.com/instanceof-performance/2 comparando una instancia JavaScript de verificación frente a una verificación booleana para una propiedad existente/faltante en un objeto.
El resultado general (tenga cuidado con el pequeño número de muestras) es que en Chrome ambos métodos son parecidos con beneficios para instanceof. En FF, sin embargo, el control de propiedad es más rápido que el operador de instanceof. Actualización de abril de 2017: como señaló @ngryman: en las versiones recientes de FF y Chrome, hacer comprobaciones de propiedades parece mucho más rápido que inscribirse.
Sería interesante extender esa prueba con un caso como comprobar si una comparación de cadenas como obj.type == 'MyClass'
tiene una gran influencia en el tema.
Está buscando algo definitivo, ya veo. Pero el "problema de rendimiento" no es una pregunta definitiva. Por el contrario, es muy vago. Además, las preguntas de rendimiento deben formularse en la forma "¿A o B requieren más memoria/tiempo de ejecución/otra cantidad medible", donde A y B son cosas diferentes que producen el mismo resultado. Entonces necesitaría comparar el operador instanceof con otra cosa que hace lo mismo. –
Hmm, mi pregunta no fue enmarcada de la manera correcta. –
Supongo que podría ejecutar un punto de referencia que le dijera que el operador instanceof tomó 7 microsegundos (número elegido al azar, por ejemplo) para ejecutar. Pero entonces tendrías que preguntarte qué significaba eso en el contexto de algún código real. –