pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

PJSIP and PJMEDIA footprint report for i386-linux target

Auto-generated by pjsip-apps/build/get-footprint.py script

Date: Thu Jul 13 19:04:32 2006
Revision: r604


Build Configuration

build.mak

# Auto-generated build.mak
export MACHINE_NAME := i386
export OS_NAME := linux
export HOST_NAME := unix
export CC_NAME := gcc
export TARGET_NAME := i386-linux-gcc
export CROSS_COMPILE :=
export LINUX_POLL := select

Using gcc version 4.1.1

user.mak

#export CFLAGS += -march=pentium4 -fno-strict-aliasing -Wall -Wno-unused-label -ggdb
#export CFLAGS += -march=pentium4 -O4 -fomit-frame-pointer -fno-strict-aliasing -Wall -Wno-unused-label -DNDEBUG -D_REENTRANT
#export LDFLAGS += -ltcmalloc_minimal
export CFLAGS += -march=pentiumpro -Os -fomit-frame-pointer -DNDEBUG

<pj/config.site.h>

#define PJ_ENABLE_EXTRA_CHECK 0
#define PJ_OS_HAS_CHECK_STACK 0
#define PJ_LOG_MAX_LEVEL 0
#define PJ_HAS_ERROR_STRING 0

Footprint Report

The table below shows the footprint of individual feature, in bytes.

.text .data .bss Features/Module Description
923 276 4 Empty application size
      Subtotal: empty application size on this platform: .text=923, .data=276, .bss=4
(Size minus empty application size: .text=0, .data=0, .data=0)
19801 348 480 PJLIB (pool, data structures, hash tables, ioqueue, socket, timer heap, etc.). For targets that statically link application with LIBC, the size includes various LIBC functions that are used by PJLIB.
      Subtotal: Application linked with PJLIB: .text=20724, .data=624, .bss=484
(Size minus empty application size: .text=19801, .data=348, .data=480)
1646 0 -24 PJLIB-UTIL STUN client
2229 12 0 PJLIB-UTIL getopt() functionality
2693 4 0 PJLIB-UTIL text scanner (needed by SIP parser)
2118 4 0 PJLIB-UTIL tiny XML (parsing and API) (needs text scanner)
28053 268 13428 PJSIP Core - Messaging Elements and Parsing (message, headers, SIP URI, TEL URI/RFC 3966, etc.)
5968 68 32 PJSIP Core - Endpoint (transport management, module management, event distribution, etc.)
5292 0 -8 PJSIP Core - Stateless operations, server resolution and fail-over
2496 0 0 PJSIP UDP transport
      Subtotal: A minimalistic SIP application (parsing, UDP transport+STUN, no transaction): .text=71219, .data=980, .bss=13912
(Size minus empty application size: .text=70296, .data=704, .data=13908)
3776 0 0 PJSIP TCP transport
0 0 0 PJSIP INFO support (RFC 2976) (no special treatment, thus the zero size)
7488 160 0 PJSIP transaction and stateful API
5072 8 0 PJSIP digest authentication client
7184 120 4 PJSIP User agent layer and base dialog and usage management (draft-ietf-sipping-dialogusage-01)
6688 0 1088 PJMEDIA SDP Parsing and API (RFC 2327), needed by SDP negotiator
3328 0 0 PJMEDIA SDP negotiator (RFC 3264), needed by INVITE session
7904 128 0 PJSIP INVITE session API
2432 0 0 PJSIP client registration API
      Subtotal: Minimal SIP application with registration (including digest authentication): .text=115091, .data=1396, .bss=15004
(Size minus empty application size: .text=114168, .data=1120, .data=15000)
7376 128 0 PJSIP Event/SUBSCRIBE framework, RFC 3265 (needed by call transfer, and presence)
1744 96 0 PJSIP Call Transfer/REFER support (RFC 3515)
      Subtotal: Minimal SIP application with call transfer: .text=124211, .data=1620, .bss=15004
(Size minus empty application size: .text=123288, .data=1344, .data=15000)
6048 384 0 PJSIP Presence subscription, including PIDF/X-PIDF support (RFC 3856, RFC 3863, etc) (needs XML)
0 0 0 PJSIP Instant Messaging/MESSAGE support (RFC 3428) (no special treatment, thus the zero size)
1088 0 0 PJSIP Message Composition indication (RFC 3994)
      Subtotal: Complete PJSIP package (call, registration, presence, IM) +STUN +GETOPT (+PJLIB), no media: .text=131347, .data=2004, .bss=15004
(Size minus empty application size: .text=130424, .data=1728, .data=15000)
37730 368 1184 PJMEDIA sound device backend (platform specific)
1344 0 0 PJMEDIA Adaptive silence detector
3104 0 0 PJMEDIA endpoint
2372 36 0 PJMEDIA Packet Lost Concealment implementation (needed by G.711, GSM, and sound device port)
1104 0 0 PJMEDIA sound device media port
44016 0 0 PJMEDIA resampling algorithm (large filter disabled)
1600 32 64 PJMEDIA G.711 codec (PCMA/PCMU, including PLC) (may have already been linked by other module)
4192 0 0 PJMEDIA conference bridge (needs resampling and silence detector)
2367 4 0 PJMEDIA master port
912 0 0 PJMEDIA stand-alone RTP
2680 0 0 PJMEDIA stand-alone RTCP and media quality calculation
1568 0 0 PJMEDIA stand-alone adaptive jitter buffer
4624 0 0 PJMEDIA stream for remote media communication (needs RTP, RTCP, and jitter buffer)
1904 32 0 PJMEDIA UDP media transport
2701 44 0 PJMEDIA WAV file player
848 0 0 PJMEDIA WAV file writer
400 0 0 PJMEDIA fixed buffer player
352 0 0 PJMEDIA fixed buffer writer
      Subtotal: Complete SIP and all PJMEDIA features (G.711 codec only): .text=245165, .data=2520, .bss=16252
(Size minus empty application size: .text=244242, .data=2244, .data=16248)
17264 192 64 PJMEDIA GSM codec (including PLC)
57252 124 160 PJMEDIA Speex codec (narrowband, wideband, ultra-wideband)
      TOTAL: complete libraries (+all codecs): .text=319681, .data=2836, .bss=16476
(Size minus empty application size: .text=318758, .data=2560, .data=16472)