Full disclosure: I'm the developer of ExcelDna. (
http://exceldna.codeplex.com and
http://groups.google.com/group/exceldna)I don't know of any serious performance comparison between ExcelDna and ManagedXll. However, I'd be very interested and surprised if there was a significant performance difference between the two. I'm quite sure that the core unmanaged -> managed transitions are similar. Perhaps the marshaling and memory management of strings or large arrays leaves some scope for differentiation, but I would be happy to help optimize any scenario where ManagedXll outperforms ExcelDna. While calling managed code does has some fixed per-call overhead, it is tiny - some tens of CPU instructions - so you can easily make 300 000 managed UDF calls per second. I have some basic performance info for ExcelDna here:
http://exceldna.codeplex.com/Wiki/View. ... ance.While I have never heard of any ExcelDna user having performance issues, there are certainly features that ManagedXll has, which users would love to see in ExcelDna. Some of these might be quite helpful in high-performance scenarios, particularly the RTD and async support, and their multi-threading features. As ExcelDna improves over the next few years, I think most of these features will eventually get added. Most of these would be built in managed code as part of your add-in on top of the core ExcelDna library. But if you need the features now, ManagedXll is worth a look.ExcelDna has an active user community - check the Google group and the ExcelDnaContrib project on CodePlex. Oh, and like you said, ExcelDna is free.