Re: Exe compression... and a nice tip.

From: Maarten Wiltink (maarten_at_kittensandcats.net)
Date: 02/22/05

  • Next message: Maarten Wiltink: "Re: speaking of the .Data"
    Date: Tue, 22 Feb 2005 09:28:42 +0100
    
    

    "Raptor" <bogus@none.com> wrote in message
    news:cve3hh01onh@news2.newsguy.com...
    > Bruce Roberts <ber@bounceitattcanada.xnet> wrote in message
    > news:qToSd.2970$uO.220364@news20.bellglobal.com...

    >> But have you considered the real performance cost? When a compressed
    >> exe is used it is no longer possible to simply toss executable pages
    >> when swapping takes place. They actually have to be written to the
    >> swap file. Nor can code be shared by multiple instances.
    >
    > Are you saying that the EXE is not decompressed to look like the
    > native app in memory?

    No, it is, and he's not saying it isn't. But with an uncompressed
    executable, pages of loaded code are interchangeable with the disk
    image. So when memory gets short, code pages can be simply thrown
    away and reloaded when they're needed again, and the latter is a
    simpler operation than you might think. Also, when two instances are
    running, a single page of code can be mapped into both processes'
    address space, saving physical memory.

    A compressed executable is decompressed into a data segment. That data
    segment belongs to a single process and can't be shared. And when it's
    swapped out, it needs to be saved in the page file because it's not an
    exact copy of something on disk.

    So you're expending disk I/O to save disk space. Guess which one is
    the cheapest part of your computer, and which is the most expensive?

    Groetjes,
    Maarten Wiltink


  • Next message: Maarten Wiltink: "Re: speaking of the .Data"

    Relevant Pages

    • Re: Exe compression... and a nice tip.
      ... > No, it is, and he's not saying it isn't. ... So when memory gets short, code pages can be simply thrown ... > exact copy of something on disk. ... My only motive for crunching an EXE file would be to save on distro/download ...
      (alt.comp.lang.borland-delphi)
    • Re: Reading comments in exe
      ... I'm not talking about comments that are intentionally compiled into the data segment; we've established that in later versions of VB, ... I'm talking about "leftover" or "junk" data from uninitialized chunks of memory that just *happen* to contain code comments because that's what that block of memory was last used for. ... I know various programs have that issue, including older versions of Word, IIRC, so I'm wondering if perhaps VB6 might be doing the same. ... reverse-engineered a VB EXE before. ...
      (microsoft.public.vb.general.discussion)
    • Re: Run exe other than from disk (or vdisk)
      ... > it possible to stream a small exe back to an application and run that exe ... > WITHOUT EVER saving the stream first to disk and then running it? ... Loading a DLL from Memory ...
      (microsoft.public.win32.programmer.kernel)
    • Re: The computational complexity of the Sieve of Eratosthenes
      ... init() function in my example program was substituted with the sieve of ... create a 256-megabyte exe which takes 0.1 seconds (the time being only ... dependent on how fast the system can load the exe from disk into ... memory). ...
      (comp.programming)
    • Re: Authenticate Once Only For Oracle
      ... > in memory and doesn't put the data onto disk. ... I'm not sure what you mean by Active-X .exe, could you point me at an example... ...
      (microsoft.public.word.vba.general)

    Loading