He tomado una aplicación que se desarrolló en Visual Studio 2008 y usé varias bibliotecas de Office a través de COM Interop. Comencé algunas pruebas de desarrollo conceptual usando la palabra clave dinámica y Visual Studio 2010. Descubrí que realizar las mismas tareas es de 5 a 10 veces más lento usando la dinámica que la "vieja" forma. ¿Alguien más ha experimentado este nivel de degradación del rendimiento? ¿Esto es conocido o debería encontrar una manera de informar esto?C# 4.0 rendimiento dinámico de interoperabilidad de Office
6
A
Respuesta
1
Sí, existe un conocido golpe con la palabra clave dynamic
. El motivo es que debe encasillar los valores en el tipo object
y luego utilizar el DLR (una sola vez) para compilarlo y evaluarlo. Esto tomará más tiempo en el procesador que si se conociera el tipo. Puede ver la respuesta aceptada en este question para obtener una descripción más detallada.
Finalmente, en su caso, sería aún peor porque ya es un objeto COM, por lo que encadenar y desempaquetar ese objeto sobre la sobrecarga de COM será exagerado.
Cuestiones relacionadas
- 1. C# 4.0 Dinámico vs Expando ... ¿dónde encajan?
- 2. C# 4.0 'dinámico' y sentencia foreach
- 3. .NET 4.0 problemas de Excel de interoperabilidad con colecciones dinámicas
- 4. Ensambles primarios de interoperabilidad para aplicaciones de Microsoft Office
- 5. Seleccionar una Asamblea de interoperabilidad primaria de Microsoft Office versión
- 6. Interoperabilidad de Office: desarrollo con PIA 2003 en una máquina con Office 2007
- 7. Eliminación correcta de objetos de interoperabilidad COM en C# particularmente aplicaciones de MS Office
- 8. C# 4.0 'dinámico' no establece argumentos de ref/out
- 9. Dificultades en el método en C# 4.0: dinámico vs RealProxy
- 10. Las aplicaciones más comunes del tipo dinámico C# 4.0
- 11. C# C++ devolución de llamada de interoperabilidad
- 12. deshabilitar sobrescribir la solicitud de archivo existente en la interoperabilidad de Microsoft Office Método FileSaveAs
- 13. Interoperabilidad de Excel: _Worksheet o Worksheet?
- 14. Interoperabilidad Java y C#
- 15. Coste de rendimiento del proxy dinámico Java
- 16. admite diferentes versiones de Office con Office Automation
- 17. Alternativa a la interoperabilidad de Office para la generación de documentos
- 18. ¿Debo forzar a mis clientes a instalar las Asambleas de interoperabilidad primaria de Office Xxxx?
- 19. documentos de Office Convert sin Office
- 20. BSTR de clasificación de C++ a C# con interoperabilidad COM
- 21. .NET 4.0 Memory Mapped Files Rendimiento
- 22. ¿Cómo iterar sobre una matriz de tipo dinámico en C# 4.0?
- 23. Ensamblados de interoperabilidad primaria de Office que no funcionan después de instalar el paquete de compatibilidad 2007
- 24. Análisis de código dinámico para C++
- 25. Office 2007 PIA
- 26. Visual Studio 2010: Tipos de interoperabilidad Insertar
- 27. conversiones de tipo dinámico C#
- 28. C# Suscripción de evento dinámico
- 29. C#: análisis dinámico de System.Type
- 30. C#, tipo de retorno dinámico