Archived

This forum has been archived. Please start a new discussion on GitHub.

Comparison and Stability

Hi
I have seen a comparison of ICE and TAO. Are there any other comparisons?
Does anyone have an opinion on how stable ICE is in the following scenarios:

* Linux - Linux - multithreaded
* Windows - Windows - multithreaded
* Windows - Linux - multithreaded

I don't know how to measure this!

Best Regards,
Kristian Lippert

Comments

  • benoit
    benoit Rennes, France
    Hi,

    I'm not aware of any other comparisons. Ice should perform well for the use cases you mention. You could modify the demo/Ice/latency or demo/Ice/throughput demos provided with your Ice distribution to try it out (note that by default Ice servers only use one thread so you'll need to set the Ice.ThreadPool.Server.Size property if you want to test with multiple threads).

    I also recommend reading Issue 20 "Optimizing Performance of File Transfers" from our Connections newsletter for a "real world" application performance study.

    Cheers,
    Benoit.
  • hotlips wrote: »
    Does anyone have an opinion on how stable ICE is in the following scenarios:

    * Linux - Linux - multithreaded

    Stable is a bit hard to define, but I can tell you that we use Ice to directly control multi-million dollar machinery. I've never experienced a failure that was due to a problem within Ice.
  • You don't say what you mean by "stable", but I guess you are referring to how reliable Ice is in general, in terms of bugs, crashes, memory leaks, and the like.

    The answer to that question is "ultra-stable". Ice is mature and written with great care, especially with respect to C++ memory management. Not only are there no memory leaks in Ice, the way the C++ API is designed makes it almost impossible to create memory leaks by writing application incorrectly. (I say "almost" because, if you try really hard, you can create memory leaks--but the only way that can happen is by actively deciding that "I want to make a memory leak"--there is no way that you would ever do that by accident.)

    In terms of stability and defects, Ice stacks up better than any other middleware in existence, IMO. It simply works, period, and processes using Ice stay up indefinitely.

    Now, that's not to say that we are perfect and have no bugs at all--we do, like everyone else. But the kinds of bugs we are addressing these days are usually not so much bugs, but improvements to some aspect of the run time, or the kind of bugs that are very subtle and affect customers only in certain unusual corner cases.

    One thing we are good at is taking care of any bugs though--our response time for bugs is, by industry standards, nothing short of phenomenal, especially for customers who purchase a support agreement from us.

    Cheers,

    Michi.