2009-12-13 18 views
6

Visual Studio 2008'de geliştirilen bir uygulamayı aldım ve COM Interop aracılığıyla çeşitli Office kitaplıkları kullandım. Dinamik anahtar kelimeyi ve Visual Studio 2010'u kullanarak bir kavram geliştirme kanıtı oluşturmaya başladım. Aynı görevleri gerçekleştirmenin, "eski" yoldan dinamik olarak 5-10x daha yavaş olduğunu gördüm. Bu seviyede performans düşüşü olan başka biri var mı? Bu bilinen mi yoksa bunu bildirmenin bir yolunu bulmalı mıyım?C# 4.0 dinamik Office birlikte çalışma performansı

cevap

1

Evet, dynamic anahtar kelimesiyle bilinen performansı var. Bunun nedeni, değerleri object türüne yerleştirmesi ve daha sonra derlemek ve değerlendirmek için DLR'yi (bir defalık) kullanmasıdır. Bu işlem, işlemci tipine göre bilinenden daha fazla zaman alacaktır. Daha genişletilmiş bir açıklama için bu question numaralı telefondan kabul edilen cevabı görebilirsiniz.

Son olarak, sizin durumunuzda, daha da kötüsü olurdu çünkü zaten bir COM nesnesi olduğundan, COM yükünün üstündeki nesne abartılacak.

İlgili konular