Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Ian Lance Taylor <ian@zembu.com>
To: Daniel Berlin <dan@cgsoftware.com>
Cc: jhaller@lucent.com, jtc@redback.com, cgf@redhat.com,
	gdb@sources.redhat.com, binutils@sources.redhat.com
Subject: Re: stabs vs. dwarf-2 for C programs
Date: Fri, 13 Apr 2001 23:40:00 -0000	[thread overview]
Message-ID: <sihezsrnkd.fsf@daffy.airs.com> (raw)
In-Reply-To: <m2puegqb1q.fsf@dynamic-addr-83-177.resnet.rochester.edu>

Daniel Berlin <dan@cgsoftware.com> writes:

> Oh, and i know about the BFD_IN_MEMORY stuff, it just doesn't seem to
> work well compared to just mmapping the same files. Probably because
> mmap is a lot more optimized than just reading the whole file into
> memory at once.

BFD_IN_MEMORY was a wretched hack I threw in there to support OSF/1
3.2 archive files, in which the native ar program would compress
object files stored in archives (as I recall, I disassembled the
native ar program to work out the compression scheme).  Using
BFD_IN_MEMORY was simpler than using a temporary file and much simpler
than decompressing on demand.

Since then DJ has beefed up BFD_IN_MEMORY to work for some other
cases.  But in any case it was never intended to be a poor man's
mmap.

> For instance, linking gdb, which is one archive, 8 objects, requires
> 5000 out of memory seeks (ie fseeks), 7532 out of memory reads of
> random sizes, at random offsets, and 28000 out of memory writes.
> 
> Of course, linking gdb is barely disk i/o bound, the numbers get much worse
> worse with large programs.
> The worst part about the reads is we do tons of small reads (almost
> all of the reads are 40 bytes or less), 80% being followed (IE we do 8
> 40 byte reads, and a seek) by tons of seeks to positions probably just
> outside the buffering range, and then reads.

I'm surprised that the reads are so small.  I would have thought that
most of the reads when linking ELF are for complete ELF sections, and
I wouldn't expect most ELF sections to be 40 bytes or less.

I wonder if this is in part caused by the overall trend to more,
smaller, sections?  The linker is written to handle one section at a
time, which would cause worse behaviour if there are many small
sections.

Ian


  reply	other threads:[~2001-04-13 23:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-12 19:13 J.T. Conklin
2001-04-12 19:17 ` Christopher Faylor
2001-04-12 19:31   ` J.T. Conklin
2001-04-12 19:59     ` Daniel Berlin
2001-04-13  7:13       ` John Haller
2001-04-13  8:09         ` Daniel Berlin
2001-04-13 16:18           ` Ian Lance Taylor
2001-04-13 18:39             ` Daniel Berlin
2001-04-13 20:22               ` Ian Lance Taylor
2001-04-13 22:01                 ` Daniel Berlin
2001-04-13 22:19                   ` Ian Lance Taylor
2001-04-13 22:37                     ` DJ Delorie
2001-04-13 23:31                     ` Daniel Berlin
2001-04-13 23:47                       ` Daniel Berlin
2001-04-13 23:51                       ` Ian Lance Taylor
2001-04-13 22:56                   ` Daniel Berlin
2001-04-13 23:40                     ` Ian Lance Taylor [this message]
2001-04-13 23:55                   ` Todd Whitesel
2001-04-12 19:55 ` Daniel Berlin
2001-04-12 23:37   ` Eli Zaretskii
2001-04-13  8:13     ` Daniel Berlin
2001-04-12 22:00 ` Geoff Keating
2001-04-12 22:37   ` Daniel Berlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sihezsrnkd.fsf@daffy.airs.com \
    --to=ian@zembu.com \
    --cc=binutils@sources.redhat.com \
    --cc=cgf@redhat.com \
    --cc=dan@cgsoftware.com \
    --cc=gdb@sources.redhat.com \
    --cc=jhaller@lucent.com \
    --cc=jtc@redback.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox