Console output slower that before

May 20, 2008
11,415
99
Syracuse, NY, USA
Every test I can think of indicates that console output (lots of it, at high speed) is slower in v20 than in v19, in fact, about half the speed. Here are just a few things I've tried, performed with v20 and v19 in which I specified the affinity so as to get rid of the differences in speed among my processors.

Code:
v:\> outputtest.btm
start /min /wait /affinity=1 g:\tc20\tcc.exe /c dir /s g:\
Timer 1 off: 17:23:44  Elapsed: 0:00:25.33

start /min /wait /affinity=1 g:\tc19\tcc.exe /c dir /s g:\
Timer 1 off: 17:23:55  Elapsed: 0:00:11.32

start /min /wait /affinity=2 g:\tc20\tcc.exe /c dir /s g:\
Timer 1 off: 17:24:26  Elapsed: 0:00:31.33

start /min /wait /affinity=2 g:\tc19\tcc.exe /c dir /s g:\
Timer 1 off: 17:24:40  Elapsed: 0:00:13.98

start /min /wait /affinity=4 g:\tc20\tcc.exe /c dir /s g:\
Timer 1 off: 17:25:07  Elapsed: 0:00:26.75

start /min /wait /affinity=4 g:\tc19\tcc.exe /c dir /s g:\
Timer 1 off: 17:25:19  Elapsed: 0:00:12.40

start /min /wait /affinity=8 g:\tc20\tcc.exe /c dir /s g:\
Timer 1 off: 17:25:51  Elapsed: 0:00:32.05

start /min /wait /affinity=8 g:\tc19\tcc.exe /c dir /s g:\
Timer 1 off: 17:26:06  Elapsed: 0:00:14.19
 
May 20, 2008
11,415
99
Syracuse, NY, USA
With ANSI off in both versions, it's better but v19 still has a 10-20% advantage.

Is the ANSI code executed when redirecting to NUL, or when piping to something which eats the output? In such cases, v19 and v20 measure the same, even with ANSI=Yes.
 

rconn

Administrator
Staff member
May 14, 2008
12,364
150
With ANSI off in both versions, it's better but v19 still has a 10-20% advantage.

Is the ANSI code executed when redirecting to NUL, or when piping to something which eats the output? In such cases, v19 and v20 measure the same, even with ANSI=Yes.

For piping, yes. For redirecting to nul, depends on whether you're in a TCMD tab window (yes) or a console window (no).

If you're doing it in a TCMD tab window, then remember to turn off ANSI in TCC; otherwise you'll be executing ANSI code *twice*.
 
May 20, 2008
11,415
99
Syracuse, NY, USA
Here's the same test using a pipe (ANSI code executed, right?). Both versions have ANSI=Yes. I used the c: drive to try to exaggerate the differences, but there are hardly any differences. If that's a valid test, it doesn't look like ANSI is the culprit. All of this is console only.
Code:
v:\> output.btm
start  /wait /affinity=1 g:\tc20\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:41:01  Elapsed: 0:00:17.32

start  /wait /affinity=1 g:\tc19\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:41:18  Elapsed: 0:00:16.92

start  /wait /affinity=2 g:\tc20\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:41:35  Elapsed: 0:00:17.26

start  /wait /affinity=2 g:\tc19\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:41:53  Elapsed: 0:00:17.73

start  /wait /affinity=4 g:\tc20\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:42:10  Elapsed: 0:00:17.43

start  /wait /affinity=4 g:\tc19\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:42:28  Elapsed: 0:00:17.64

start  /wait /affinity=8 g:\tc20\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:42:47  Elapsed: 0:00:18.46

start  /wait /affinity=8 g:\tc19\tcc.exe /c dir /s c:\ ^| wc
Timer 1 off: 21:43:05  Elapsed: 0:00:18.87
 
May 20, 2008
11,415
99
Syracuse, NY, USA
TYPE-ing a big file with ANSI=No, it's a dead heat! Even my 4 processors look the same (which is odd).
Code:
start  /wait /affinity=1 g:\tc20\tcc.exe /c type bigg.txt
Timer 1 off: 22:01:26  Elapsed: 0:00:18.26

start  /wait /affinity=1 g:\tc19\tcc.exe /c type bigg.txt
Timer 1 off: 22:01:44  Elapsed: 0:00:18.28

start  /wait /affinity=2 g:\tc20\tcc.exe /c type bigg.txt
Timer 1 off: 22:02:02  Elapsed: 0:00:18.25

start  /wait /affinity=2 g:\tc19\tcc.exe /c type bigg.txt
Timer 1 off: 22:02:21  Elapsed: 0:00:18.25

start  /wait /affinity=4 g:\tc20\tcc.exe /c type bigg.txt
Timer 1 off: 22:02:39  Elapsed: 0:00:18.24

start  /wait /affinity=4 g:\tc19\tcc.exe /c type bigg.txt
Timer 1 off: 22:02:57  Elapsed: 0:00:18.27

start  /wait /affinity=8 g:\tc20\tcc.exe /c type bigg.txt
Timer 1 off: 22:03:15  Elapsed: 0:00:18.27

start  /wait /affinity=8 g:\tc19\tcc.exe /c type bigg.txt
Timer 1 off: 22:03:34  Elapsed: 0:00:18.25
 
May 20, 2008
11,415
99
Syracuse, NY, USA
I also noticed this. In my tests (the most recent one, for example) the control instance of TCC was v20. It had a taskbar icon. During the test, whenever v20 was run, for example
Code:
start  /wait /affinity=1 g:\tc20\tcc.exe /c type bigg.txt
that taskbar icon was doubled (that's expected). Whenever v19 was run, for example
Code:
start  /wait /affinity=1 g:\tc19\tcc.exe /c type bigg.txt
I got a new taskbar icon (also expected) but that new icon was the generic console app icon, not the TCC icon that I would expect.

This does not happen if the control app is v19. In this case, the new taskbar icon created when v20 is run is the correct one.

Is it Windows doing this, or maybe some difference between v19 and v20?
 
Similar threads
Thread starter Title Forum Replies Date
Mordachai How to capture all console output from a TCMD session? Support 4
E Redirect output from "start"-ed console Support 5
vefatica Console not redrawn in BTM or with multiple commands Support 4
vefatica ShutdownPlugin not called when I X the console? (just curious) Support 4
vefatica Console popup windows don't work correctly Support 0
vefatica Cancelling selection in the console? Support 7
G Console exe up / down history Support 8
vefatica Console cursor height in Win 10 Support 3
vefatica BTM, elevated, console window caption? Support 4
vefatica TCEXIT not executed if I X the console Support 4
vefatica TYPE resets console tab settings Support 14
vefatica Undesired scrolling in Windows 10 enhanced console. Support 2
L WAD In console, tabs are rendered with non-uniform tab-stop spacing Support 16
P No linefeed on last line of console window Support 2
fishman@panix.com TCC v22 & the Windows 10 Console Support 5
C TCMD not hiding the console Support 1
jaltman tcmd 21.0.19 win10 16179 console window loses content Support 2
L Fixed console line length in Take Command 19? Support 3
P Color directories in Win10 build 10586 console Support 11
I Windows 10 console does not allow alt-F4 alias to complete Support 1
M Console-Mode (*.exe) works in TCC, not in TCMD Support 2
vefatica ON CLOSE, GOTO, and X-ing the console Support 5
I Attach console Support 3
C Screens of different size and hidden console Support 8
G Bug? TCC 16.03.55 Console Palette Support 4
C TCMD: Problem attaching console Support 4
vefatica OT: Windows console history? Support 7
D Console window titles / tab caption Support 4
vefatica ON <closing the console> Support 5
J Screen Capture (Console Mode) Support 5
vefatica Complete console caption as TCMD's caption? Support 1
Mordachai How to get a TC interface instead of a console for .btm, .bat, ? Support 10
fpefpe How to? Fonts / Size in console window Support 5
A How to? Is it possible to freeze one side of the console? Support 19
Stefano Piccardi How to? keep console from scrolling Support 6
noahcoad @ruby closes console Support 2
noahcoad Start new console without focus Support 3
vefatica TCSH crashes only when in a TCC console Support 2
vefatica Very strange console font corruption Support 3
p.f.moore Is the TakeCommandIPC interface available from other console programs? Support 3
J How to? 'tab' characters in the console and clipboard 'copy' Support 1
vefatica Console not closing ... problem gone Support 1
T Wrong prompt in Windows command console Support 3
vefatica Console not closing Support 1
vefatica Hidden console doesn't close Support 34
J Console editor for TCC12 Support 10
J TC12 Win7 console, running gawk scripts Support 0
lassevk exit(1) in a python script exits console, by design or bug? Support 1
M Programmatically getting the console width in character Support 18
nikbackm TCMD console color palette Support 4

Similar threads