From: "Gerhard W. Gruber" 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: NNTP-Posting-Host: 192.56.14.75 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk 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 > #include > > 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.