To my knowledge, true benchmarks have not yet been done (or acknowledged...
I'm organizing such an activity...now that my internet feed is back up).
Is it speed or ease of development that is your greater concern?
What kind of application are you writing? Web/mail client or your own
custom protocol?
There's a distinct difference in how you write applications when using
blocking or non-blocking sockets. The trend right now is to go with
blocking sockets due to the simpler design approach (especially
multi-threaded apps). However, if you are writing mail clients or a web
client, then you might be able to just use one of the components provided by
the respective library.
Both libraries, ICS and INDY have the supporters and detractors. For client
development perspective I use INDY. But, that's a personal choice and I'm
happy with it's performance in this area. For server development, I use
another (commercial) product simply because of raw performance issues.
Charles
"DarkSSJ" <dar...@email.it> wrote in message
news:3da89cbf$1...@newsgroups.borland.com...
(Sorry for my bad english :-p )
The beauty of non-blocking is that writing protocols is very easy.
Non-blocking requires additional work to handle all the Winsock errors,
events and their associated coordination. It's not rocket science, but can
be difficult if you have a complex protocol and requires you to create a
context object of some sort to maintain state. With blocking sockets, this
logic is easily incorporated into a thread. In the end, blocking code is
typically cleaner and may be faster than the equivalent non-blocking code.
Blocking code often is more efficient than non-blocking on multiprocessor
systems.
Where non-blocking typically excels in in resource management as you don't
have the additional overhead that threads impose.
Additionally, if you are moving to an environment such as Linux, blocking
sockets are the way to go. ICS has a linux port, I believe, but INDY was
there first.
Charles
"DarkSSJ" <dar...@email.it> wrote in message
news:3da8...@newsgroups.borland.com...
Non blocking is not faster. Both Indy and ICS can easily handle a loaded 100
MB ethernet, so speed is not really a factor.
--
Chad Z. Hower (a.k.a. Kudzu) - http://www.hower.org/Kudzu/
"Programming is an art form that fights back"
Qualified help FAST with Indy Experts Support
from the experts themselves:
http://www.atozedsoftware.com/indy/support/
ELKNews - Get your free copy at http://www.atozedsoftware.com
If you are writing a server its more important which OS you are writing for
then which component. None of them really have a HUGE speed difference. The
OS does however, thats why you should write it for Linux ;)
cheers-
Giuliano
Charles
"Giuliano Barberi" <unliq...@hotmail.com> wrote in message
news:3da8...@newsgroups.borland.com...