From: Gene <gene.ressler@gmail.com>
Subject: Re: Interesting performance quirk.
Date: Sat, 1 Nov 2008 08:41:01 -0700 (PDT)
Date: 2008-11-01T08:41:01-07:00 [thread overview]
Message-ID: <bfcb4911-b11e-4d5a-ab12-c8990155b0b1@b38g2000prf.googlegroups.com> (raw)
In-Reply-To: Pine.WNT.4.64.0810311333110.3988@teor1
On Oct 31, 9:41 am, Colin Paul Gloster <Colin_Paul_Glos...@ACM.org>
wrote:
> On Thu, 30 Oct 2008, Peter C. Chapin wrote:
>
> |------------------------------------------------------------------------||"Colin Paul Gloster wrote: |
>
> | |
> |> Earlier this year I had used QEMU on Windows (possibly not Windows XP)|
> |> to have a GNU/Linux distribution (possibly RedHat) emulated. I ran a |
> |> Bourne shell script or a Bourne Again Shell script in the emulated |
> |> system which made thousands of fairly short I/O transactions. The |
> |> emulated system including its pretend harddisk were kept small enough |
> |> (no more than a few hundred megabytes) to be kept solely in the real |
> |> physical primary memory instead of relying on virtual memory. |
> |> |
> |> It was faster than running the same script on Cygwin on the same |
> |> machine. |
> | |
> |That's interesting. I think it's probably conventional wisdom that doing|
> |I/O in a VM would be slower than outside the virtual machine. I'm sure |
> |that's true in many cases, although the situation you described shows |
> |that it's not always true." |
> |------------------------------------------------------------------------|
>
> For clarity, I explain that the I/O of the virtual machine which I
> referred to was merely I/O to its emulated filesystems, all of which
> together plus the emulated memory were small enough to fit into the
> genuine physical memory of the host operating system.
>
> |------------------------------------------------------------------------|
> |"My program [..] the memory |
> |block I work over is only 1 MB long so I don't think paging would be an |
> |issue (there is no disk activity when I run it). [..] |
> | |
> |[..]" |
> |------------------------------------------------------------------------|
>
> Your program's memory block's size might be of the order of one
> megabyte, but I do not know whether the emulated filesystems which you
> used were also small enough to fit into emulated memory. However, this
> does not explain why one program you have tried has been sped up by
> emulation whereas another has not been sped up.
Exactly right. The most obvious explanation is that system-dependent
code or build conventions have led to some important difference in the
run-time support. Detailed profiling is probably the only way to
figure how where. FWIW, I remember a similar situation that finally
turned out to be explained by compilation with the Windows
multithreaded debugging libraries. When we switched to production,
single-threaded libraries, the differences vanished or went in favor
of Windows.
next prev parent reply other threads:[~2008-11-01 15:41 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-26 0:57 Interesting performance quirk Peter C. Chapin
2008-10-26 2:15 ` Jeffrey Creem
2008-10-26 11:16 ` Peter C. Chapin
2008-10-26 4:57 ` tmoran
2008-10-26 11:11 ` Peter C. Chapin
2008-10-28 8:49 ` Martin
2008-10-28 11:35 ` Peter C. Chapin
2008-10-28 14:21 ` Robert A Duff
2008-10-29 1:42 ` Peter C. Chapin
2008-10-28 18:27 ` Jeffrey R. Carter
2008-10-29 1:39 ` Peter C. Chapin
2008-10-29 5:27 ` Jeffrey R. Carter
2008-10-28 23:22 ` Ludovic Brenta
2008-10-29 8:42 ` oenone
2008-10-29 9:59 ` Peter C. Chapin
2008-10-29 10:19 ` Martin
2008-11-17 6:31 ` David Thompson
2008-11-17 11:51 ` Peter C. Chapin
2008-10-29 9:54 ` Alex R. Mosteo
2008-10-30 11:16 ` Peter C. Chapin
2008-10-29 16:12 ` Colin Paul Gloster
2008-10-30 11:23 ` Peter C. Chapin
2008-10-31 13:41 ` Colin Paul Gloster
2008-11-01 15:41 ` Gene [this message]
2008-10-29 20:18 ` Florian Weimer
2008-10-30 11:15 ` Peter C. Chapin
2008-11-07 0:44 ` Randy Brukardt
2008-11-07 1:23 ` Peter C. Chapin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox