📄 node242.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4patched version by: Kenshi Muto, Debian Project.LaTeX2HTML 2002 (1.62),original version by: Nikos Drakos, CBLU, University of Leeds* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>21.4.2 Memory Conservation Tips</TITLE><META NAME="description" CONTENT="21.4.2 Memory Conservation Tips"><META NAME="keywords" CONTENT="everything"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="everything.css" tppabs="http://www.isi.edu/nsnam/ns/doc/everything.css"><LINK REL="next" HREF="node243.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node243.html"><LINK REL="previous" HREF="node241.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node241.html"><LINK REL="up" HREF="node240.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node240.html"><LINK REL="next" HREF="node243.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node243.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html5018" HREF="node243.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node243.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html5012" HREF="node240.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node240.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html5006" HREF="node241.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node241.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html5014" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html5016" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html5019" HREF="node243.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node243.html">21.4.3 Some statistics collected</A><B> Up:</B> <A NAME="tex2html5013" HREF="node240.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node240.html">21.4 Memory Debugging</A><B> Previous:</B> <A NAME="tex2html5007" HREF="node241.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node241.html">21.4.1 Using dmalloc</A>   <B> <A NAME="tex2html5015" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html5017" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <BR><BR><!--End of Navigation Panel--><H2><A NAME="SECTION04142000000000000000"></A><A NAME="sec:memconserve"></A><BR>21.4.2 Memory Conservation Tips</H2><P>Some tips to saving memory (some of these use examples from the cmcast-100.tcl script): If you have many links or nodes: <DL><DT><STRONG>Avoid <TT>trace-all</TT> :</STRONG></DT><DD><TT>$ns trace-all $f</TT> causes trace objects to be pushed on all links. If you only want to trace one link, there's no need for this overhead. Savingis about 14 KB/link. <P></DD><DT><STRONG>Use arrays for sequences of variables :</STRONG></DT><DD>Each variable, say <TT>n$i</TT> in <TT>set n$i [$ns node]</TT>, has a certainoverhead. If a sequence of nodes are created as an array, i.e.<TT>n($i)</TT>, then only one variable is created, consuming much lessmemory. Saving is about 40+ Byte/variable. <P></DD><DT><STRONG>Avoid unnecessary variables :</STRONG></DT><DD>If an object will not be referred to later on, avoid naming the object.E.g.<TT>set cmcast(1) [new CtrMcast $ns $n(1) $ctrmcastcomp [list 1 1]]</TT>would be better if replaced by<TT>new CtrMcast $ns $n(1) $ctrmcastcomp [list 1 1]</TT>.Saving is about 80 Byte/variable. <P></DD><DT><STRONG>Run on top of FreeBSD :</STRONG></DT><DD>malloc() overhead on FreeBSD is less than on some other systems. We willeventually port that allocator to other platofrms. <P></DD><DT><STRONG>Dynamic binding :</STRONG></DT><DD>Using bind() in C++ consumes memory for each object you create. Thisapproach can be very expensive if you create many identical objects.Changing <TT>bind()</TT> to <TT>delay_bind()</TT> changes this memoryrequirement to per-class. See /object.cc for an example of how to dobinding, either way.<P></DD><DT><STRONG>Disabling packet headers :</STRONG></DT><DD>For packet-intensive simulations, disabling all packet headers thatyou will not use in your simulation may significantly reduce memoryusage. See Section <A HREF="node128.html#sec:ppackethdr" tppabs="http://www.isi.edu/nsnam/ns/doc/node128.html#sec:ppackethdr">12.1</A> for detail.<P></DD></DL><P><HR><!--Navigation Panel--><A NAME="tex2html5018" HREF="node243.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node243.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html5012" HREF="node240.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node240.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html5006" HREF="node241.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node241.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html5014" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html5016" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html5019" HREF="node243.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node243.html">21.4.3 Some statistics collected</A><B> Up:</B> <A NAME="tex2html5013" HREF="node240.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node240.html">21.4 Memory Debugging</A><B> Previous:</B> <A NAME="tex2html5007" HREF="node241.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node241.html">21.4.1 Using dmalloc</A>   <B> <A NAME="tex2html5015" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html5017" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <!--End of Navigation Panel--><ADDRESS>2003-09-23</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -