Performance

In my ADX review I mentioned that the XLL UDF performance was not as good as some other technologies. But I also mentioned that some of the other features probably more than made up for that for many people.

The reality is for Excel/Office development we have a wide range of choices, some Microsoft, some not. Some open source, some commercial.

There is not one single technology that is best at everything. Sorry if you want an easy ‘Excel is the answer, now what’s the question’ (Or VBA etc) type scenario.

I currently have live add-in projects using VB6, VBA, XLM, VSTO, ExcelDNA and XLL+, and raw C, and I guess I have VS2008 and VS2010 C# stuff going on too. And I hope to add ADX to that list soon. Within all of those I would say each one uses the right technology given the requirements. No VB.net – sorry, the improved interop in C# 2010 would put another nail in its coffin – if we could be bothered to dig it up.

The add-in tech choice is not easy, and is possible through something that a few manager types don’t really seem to understand – real world experience. Books and forums can help but its only when you try and deliver real solutions to real users with real needs that you see how the techs really work. For example I moved one of my projects off VSTO because I didn’t need the click-once goodness or the start up delay.

I’ll write more over time on the criteria I have applied when selecting the most appropriate technology, and how to spot when you are going down a dead end and how to swap. I’ll also write more detail on my xll performance tests because I have done a fairy extensive shootout.

Do I have a favourite add-in tech? No, not one, its not that easy. But if performance is critical then you have to use the C API not the automation interface. And if an attractive interface is important then you are going to need something a bit richer than XLM 4.0 dialogs. Then there is the whole pre-requisites excitement…

Do you have an overall favourite add-in tech? What other techs are you working with? Anyone doing any Java/Excel stuff?

cheers

Simon

Advertisements

5 Responses to “Performance”

  1. dougaj4 Says:

    For adding high performance functionality I find a C++ or Fortran dll with a VBA interface is hard to beat for using existing solutions in an Excel environment with the minimum of new coding.

    I also like the ALGLIB library which has VBA and C++ versions of everything, so I can develop in VBA and switch the maths intensive bits to C++ if/when necessary.

  2. XL-Dennis Says:

    Add-in Express .NET/VSTO are the two most common platforms for me. VB6/VBA/VB.NET/ExcelDNA comes second for various tasks. All managed work is done with VS2010. While SQL is still the major approach for working with various databases I believe that during next year it mayl be replaced with LINQ.

    I hope that I can add XLL+ to my toolbox next year. I recently upgraded my copy of Steve Dalton’s book together with my copy of Stephen Prata’s book.

    Kind regards,
    Dennis

  3. Marcus from London Says:

    Unlike yourself, I do a lot of GUI work mainly using VBA UserForms, some .Net WinForms but have been moving more towards WPF. Regardless of the GUI technology, Excel is still at the epicentre a a reporting medium and less so as a data or business logic store.

    From a business logic perspective, it has traditionally been either xla’s, stored procs and/or VB6 DLL’s although the last year has seen a transition to C# DLL’s. Given the productivity and performance gains I’ve had in the C#, I’m very eager to move the GUI portions to WinForms or (more likely) WPF, interacting with Excel. I haven’t touched VB.Net and given the IB landscape, I doubt I ever will.

    Under the bonnet, the data layer is mainly SQL Server with a splash of Oracle and a dash of Access for ad-hoc or prototyping tasks. On the OLAP side there has been MSAS (it’s been many a moon since I touched Hyperion Essbase). However since I deal a lot with small business teams (in IB) a well indexed, denormalised SQL Server back-end normally suffices.

    Favourite add-in tech? For the quick to implemt and deploy it’s been xla’s. For more stability and secutity; VB6. Your review on ADX really piqued y interest, as I’ve been looking for reliably reviewed alternatives. The interest there is COM add-ins and Automation add-ins. Doing zero Java-Excel.

  4. Neal O'nions Says:

    Most of my Excel work is reporting with VBA Userforms and native VBA with some .XLA’s. Every time I look outside of this tech I always walk into a large brick wall called deployment.

    Advice please. Are any of these alternative addin technologies deployable by ‘run of the mill’ end users? You know the kind, the ones who can’t be trained to even click enable macros. I could certainly use some richer forms tools and performance boosts occasionally.

  5. Jon Says:

    Hi Simon,

    Just discovered your blog and love it. You said you were going to post when you use different platforms for different projects. I would love to see that!

    Jon

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: