[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE : [lwip-users] Optimizations for applications requiring limitedfuncti
From: |
Frédéric BERNON |
Subject: |
RE : [lwip-users] Optimizations for applications requiring limitedfunctionality. |
Date: |
Sat, 14 Apr 2007 12:02:49 +0200 |
Hi Roger,
>I have noticed a decrease in performance (about 40%)
40% ???? Was is this measure ? Max bandwidth on output, number of cycles used,
footprint? If I understand what you wrote, it was on max bandwidth? And just
due to statistics? Seems strange...
About reducing code size ("raw" API, ARP, ICMP echo, TCP/IP, and UDP), I think
you can set options like this (some are based on last cvs), but read opt.h and
CHANGELOG to get more details :
#define SYS_LIGHTWEIGHT_PROT 1 /* I suppose you are in single thread
model, or you got your own safe-thread feature */
#define NO_SYS 1 /* Same, Simon Goldschmidt comment
that like "NO_SYS=1 means raw-API/polling only and NO_SYS=0 means
netconn/socket-API & tcpip_thread()", and it's true in most of cases */
#define MEM_LIBC_MALLOC 1 /* Disable if you don't got a c
runtime, or if it's not efficient */
#define MEMP_SANITY_CHECK 0 /* to use on debug mode, if you think
you got corrupt memory */
#define LWIP_ARP 1 /* Need for you, if you have an arp
device (mainly ethernet), of course */
#define ARP_QUEUEING 0 /* Reduce code (note if you use it
that this feature got several patch since 1.2.0) */
#define ETHARP_TRUST_IP_MAC 0 /* Will reduce cycles consume if your
device receive lot of packets */
#define ETHARP_TCPIP_INPUT 0 /* Not need if you use rawapi */
#define ETHARP_TCPIP_ETHINPUT 0 /* Not need if you use rawapi */
#define IP_FORWARD 0 /* Not need if you don't do a router
or not use loopif */
#define IP_OPTIONS 1 /* 1, except if your device is
deployed on a network where you don't have a FULL control */
#define IP_REASSEMBLY 0 /* Will reduce footprint, but you
can't receive fragmented packets */
#define IP_FRAG 0 /* Will reduce footprint, but you
can't send fragmented packets */
#define LWIP_RAW 0 /* Warning, this is for raw pcb (use
by example if you want to create a ping or tracert tools) and not for what is
called "raw api" (which is also called low-level "core" / "callback" or native
api)*/
#define LWIP_DHCP 0 /* You don't say you need it */
#define LWIP_SNMP 0 /* You don't say you need it */
#define LWIP_IGMP 0 /* You don't say you need it */
#define LWIP_UDP 1 /* You say you need it */
#define LWIP_TCP 1 /* You say you need it */
#define LWIP_NETIF_HOSTNAME 0 /* You don't say you need it */
#define LWIP_NETIF_API 0 /* Can be used with sequential api */
#define LWIP_NETIF_CALLBACK 0 /* You don't say you need it */
#define LWIP_HAVE_LOOPIF 0 /* You don't say you need it */
#define LWIP_EVENT_API 0 /* I suppose you use CALLBACK_API,
but set to 0 if you need it */
#define LWIP_COMPAT_SOCKETS 0 /* You don't need it */
#define LWIP_POSIX_SOCKETS_IO_NAMES 0 /* You don't need it */
#define LWIP_TCP_KEEPALIVE 0 /* You don't need it */
#define LWIP_SO_RCVTIMEO 0 /* You don't need it */
#define SO_REUSE 0 /* Don't work */
#define LWIP_STATS 0 /* You already said you disable it */
#define PPP_SUPPORT 0 /* You don't say you need it */
You can try this, or wait other developers comments... Note I don't have set
any value about sizes or delays, which have to be set to get the performance
you need...
====================================
Frédéric BERNON
HYMATOM SA
Chef de projet informatique
Microsoft Certified Professional
Tél. : +33 (0)4-67-87-61-10
Fax. : +33 (0)4-67-70-85-44
Email : address@hidden
Web Site : http://www.hymatom.fr
====================================
P Avant d'imprimer, penser à l'environnement
-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de Roger Cover
Envoyé : samedi 14 avril 2007 01:32
À : address@hidden
Objet : [lwip-users] Optimizations for applications requiring
limitedfunctionality.
Greetings,
I have completed my upgrade to version 1.2.0 (from 0.6.3). The reliability of
my system is much improved. The developers have done a good job increasing the
robustness of the library.
Now that I have version 1.2.0 running, I have noticed a decrease in performance
(about 40%). Part of the decrease I initially noticed was because my old
lwipopts.h file used an old (and no longer correct) method to turned statistics
collection off. I am using the "raw" API and I only need ARP, ICMP echo,
TCP/IP, and UDP. The major performance issue is only in UDP.
This brings me to my question: I already found how to turn off the statistics
and "raw" packet code. What else can I turn off in lwipopts.h to remove things
I don't need? Version 1.2.0 has a lot of features that 0.6.3 did not have, and
any help jump-starting my performance improvement quest will be greatly
appreciated.
Regards,
Roger W. Cover
Spectral Instruments, Inc.
420 N. Bonita Ave.
Tucson, AZ 85745
Voice: 520-884-8821 ext. 144
FAX: 520-884-8803
_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users
Frédéric BERNON.vcf
Description: Frédéric BERNON.vcf
- RE : [lwip-users] Optimizations for applications requiring limitedfunctionality.,
Frédéric BERNON <=
- Re: RE : [lwip-users] Optimizations for applications requiring limitedfunctionality., Andrew Lentvorski, 2007/04/14
- RE: RE : [lwip-users] Optimizations for applications requiringlimitedfunctionality., Roger Cover, 2007/04/16
- Re: RE : [lwip-users] Optimizations for applications requiringlimitedfunctionality., Timmy Brolin, 2007/04/16
- RE: [lwip-users] Optimizations forapplications requiring limited functionality., Roger Cover, 2007/04/16
- Re: [lwip-users] Optimizations forapplications requiring limited functionality., Timmy Brolin, 2007/04/17
- RE: [lwip-users] Optimizations forapplications requiring limited functionality., Roger Cover, 2007/04/18
- RE: [lwip-users] Optimizations forapplications requiring limitedfunctionality., Matthew Yingling, 2007/04/23
- RE: [lwip-users] Optimizations forapplications requiring limitedfunctionality., Matthew Yingling, 2007/04/23