Re: [sip-ops] [dispatch] SIP-CLF: Results on ASCII vs. binary representation

Theo Zourzouvillys <> Wed, 29 April 2009 19:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id F0E9A3A6D40; Wed, 29 Apr 2009 12:03:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.847
X-Spam-Status: No, score=-5.847 tagged_above=-999 required=5 tests=[AWL=0.130, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id vDfn79ji7Vps; Wed, 29 Apr 2009 12:03:17 -0700 (PDT)
Received: from ( []) by (Postfix) with SMTP id 3C3CA28C2AA; Wed, 29 Apr 2009 12:02:01 -0700 (PDT)
Received: from source ([]) by ([]) with SMTP ID; Wed, 29 Apr 2009 12:03:24 PDT
Received: by bwz24 with SMTP id 24so1387084bwz.22 for <multiple recipients>; Wed, 29 Apr 2009 12:03:22 -0700 (PDT)
MIME-Version: 1.0
Received: by with SMTP id d3mr594033bki.142.1241031802132; Wed, 29 Apr 2009 12:03:22 -0700 (PDT)
In-Reply-To: <>
References: <> <> <>
From: Theo Zourzouvillys <>
Date: Wed, 29 Apr 2009 20:03:02 +0100
Message-ID: <>
To: "Vijay K. Gurbani" <>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Cc:,, sipping WG <>
Subject: Re: [sip-ops] [dispatch] SIP-CLF: Results on ASCII vs. binary representation
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Operations <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 29 Apr 2009 19:03:18 -0000

On Wed, Apr 29, 2009 at 7:12 PM, Vijay K. Gurbani
<> wrote:

> 1) On some systems, the value of IOV_MAX is set to a low number.

(1) is irrelivant.  scatther/gather is not the only optimal method of
implementing it.  even on crappy old OSes, a simple memcpy() of the
data is similar in performance, cache coherency caveat emptor:

Binary: 0m7.400s
ASCII: 0m7.038s

> (1) is a real concern because as you can well imagine that URIs,
> once parsed, can be composed of many different objects (or
> structs in C.)  As such, the representation of a composed URI
> in a iov structure will require multiple indexes.

i'd argue your concerns are moot - a URI composed of many different
objects will need to be built into a string if it's ASCII anyway.

to be honest, i through they took the performance card out of the pack
so it couldn't be used any more in 2002 - if logging is causing you
scalability problems, you've got far more to worry about than that.
plus, any implementation not running on a modern OS is going to have
other missing features needed for performance improvements outside of
writev()'s limitations

(ps: i'm not too concerned about binary/ascii - although i lean toward
the binary side - please just don't use performance as an argument
unless the figures are fair. pretty please!)

 ~ Theo