[Standards] mobile optimizations (was: Re: Google Andro ï d SDK not XMPP compliant ?)

Fabio Forno fabio.forno at gmail.com
Thu Feb 14 22:57:30 UTC 2008

On Thu, Feb 14, 2008 at 11:06 PM, Boyd Fletcher
<boyd.fletcher at je.jfcom.mil> wrote:

>  1362 byte message – strongly typed
>  WinZip 3.13 times smaller than original
>  EfficientXML 75.67 times smaller than original
>  980 byte message – loosely type
>  WinZip 1.6 times smaller than original
>  Efficient XML 8.45 times smaller than original
>  21437 byte message
>  Winzip 6 times smaller
>  Efficient XML 33 times smaller

Uhm, I've seen them, they are little significative for xmpp traffic.
Try the same benchmarks on real xmpp streams and you see that the
difference is not so high. The reason? Much of the redundancy comes
from attribute values such as "to", "from", "type" and so on. Since
it's almost impossible to make assumptions about the values of
attributes, but few like "type" where sometimes there are restrictions
on the schema, usually binary xmls don't use dictionaries and
therefore they don't lead to any gains in these cases. Moreover in
streams there is an incredibly high correlations between stanzas,
making zlib to perform pretty better than in the single message
scenario. Yep, at the end there is a gain, but it's much smaller than
optimizing roster and presence stanza exchange and making the
connection manager cache some information and answer for the client.

> can be a significant reduce in b/w used. Which can have a big impact on the
> performance of a server
> faster processing in the chat server. reading XML is expensive. most of the
> binary XML formats were designed to be not only much smaller in size but
> also much less CPU intensive to process. This should in theory dramatically
> improve the scalability of a given XMPP server.

Instead I agree on this topic, though I think you can get the best
advantages while connecting very limited nodes such as in sensor
To make it clear:
- I don't think that in the wired internet the relatively small
advantages you can get abandoning text based xml can pay off; for text
xml you have a high number of reliable libraries in any language,
while the binary xml is still far from being mature
- In edge cases such as mobiles and sensor networks xml bindings may
have a sense, especially for computational constraints, but in these
cases (more true for sensors)  it's also very likely to use a
downsized version of xmpp, connecting to a proxy acting as a gateway

Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: ff at jabber.bluendo.com

More information about the Standards mailing list