Don Park points to an article at Sun's java website that describes how a 4-10 times performance improvement was achieved by using a binary protocol instead of XML (using a mapping from XML Schema to ASN.1).
Given that they used the Java Web Services Development Pack, which includes Axis as its SOAP stack, this doesn't impress me much. After all, there are implementations out there that run a lot faster than that.
With IIOP and CDR (if I remember correctly), if both parties in a communication used the same byte order, the ORB implementation could essentially simply map the bytes from the network interface to memory; using a C struct, you could then address this memory area directly, arguably yielding the best performance theoretically possible. With languages like Java (or C# or other higher level, VM-based languages), that is no longer possible. After the bytes have been read from the net, they still need to somehow be mapped to the programming languages implementation; the same is true for the response.
Using a binary data representation instead of XML optimizes just one (minor) step in the end-to-end message processing chain, with the downside of losing all human readability.
I don't think this is worth it.
… unless of course you are developing for a MIDP device with very limited bandwidth and almost no memory or computing power. Then a binary representation can come in very handy. Actually, I believe it is currently a necessity, until mobile devices get more powerful and G3 networks are up, running, and affordable.
Just my 2 cents.