delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/07/02/07:30:32

From: "Gerhard W. Gruber" <g DOT gruber AT sis DOT co DOT at>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: bash eats cycles
Date: Thu, 02 Jul 1998 13:18:45 +0200
Organization: S.I.S. IT
Lines: 67
Message-ID: <359B6C95.E4CDECE2@sis.co.at>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 980702132102 DOT 17177C-100000 AT is>
NNTP-Posting-Host: 192.56.14.75
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Eli Zaretskii wrote:

> > Running bash under NT the system becomes considerable slower.
> Everything is slower on NT ;-).

In know. But this is slower than the NT slowliness. :)

> Please use the system monitor tool to see whether Bash indeed places any
> significant CPU load on the system when it idles.  Please report what did
> you see.

It's NTVDM.EXE that takes all the time. I noticed that it start soon after
activating the window where my bash is running after calling a few
programs. When I activate other windows the idle behaviour is better. Also
when I minimize the dos box with bash the behaviour is ok. But it is rather
annoying when I have two dos boxes running and switching between them.

> Bash calls the __dpmi_yield function in its idle loop, which is supposed

When is the idle loop? Is it triggerd by minimizing or losing the focus? It
seems that way, because this it the time when the load is quite heavy.

> to yield the rest of its time slice, so Bash at least tries to be a good
> citizen in the multi-programming environment (I don't know about NC, and
> it should be obvious that any analogy between those two is null and void,
> at least theoretically).

Yes, I know. :) I just mentioned it anyaway. :)

> In particular, if you do see significant load during Bash idle time, you

The signifikant load is not in the idle time. It is when the dos box is
active. Let's assume that I start the compiler and it runs through. After
this is finished I switch to another dos box and start the command. As long
as the dos box is on screen the load is significant. I have to minimize the
box and then everything is back to normal but keeping the window visible is
a pain.

> I attach the new version of __dpmi_yield below.

Uff! This means I have to recompile bash. :) Thanks anyway, but I don't
know when I have the time to try it.

> #include <errno.h>
> #include <dpmi.h>
> 
> void
> __dpmi_yield(void)
> {
>    __dpmi_regs r;
> 
>   r.x.ax = 0x1680;
>   r.x.ss = r.x.sp = r.x.flags = 0;
>   __dpmi_simulate_real_mode_interrupt (0x2f, &r);
>   if (r.h.al == 0x80)
>     errno = ENOSYS;
> }

-- 
Bye,
   Gerhard

email: sparhawk AT eunet DOT at
       g DOT gruber AT sis DOT co DOT at

Harrison's postulate:  
For every action, there is an equal and opposite criticism.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019