From: Howard Brazee on
On Thu, 27 Sep 2007 02:09:36 +1200, "Pete Dashwood"
<dashwood(a)removethis.enternet.co.nz> wrote:

>Apparently Bill Gates showed a Windows machine that did a cold boot in 14
>seconds. He claims it is not Windows that slows the boot down.

My wife's Mac boots that fast. But part of Windows is checking
drivers for all of the different options that a Windows machine has.
Part of Windows is the cost of having the flexibility to run diverse
hardware.

I'd like to know what would make a Windows machine with the power of
my wife's Mac - to give it that kind of cold boot time. Is this
something that manufacturers have available to them? Is it something
I have available to me?

Just knowing that someone with Bill Gates' resources can do it, does
me no good.
From: Judson McClendon on
"Pete Dashwood" <dashwood(a)removethis.enternet.co.nz> wrote:
> "Judson McClendon" <judmc(a)sunvaley0.com> wrote:
>>
>> Consider this. If Microsoft had put performance at a premium, Windows
>> would boot in 1 second, you could start any Office application and it
>> would be ready for input in the blink of an eye, and your Access test would
>> have run in a few seconds. How many thousand man-years have been spent
>> cumulatively all over the planet waiting on these things? :-)
>
> Apparently Bill Gates showed a Windows machine that did a cold boot in 14 seconds. He claims it is not Windows that slows the boot
> down.

Windows often takes a *long* time to shut down, too.

> My Office Applications do start very quickly (Word is immediate, Access is under 2 seconds, Project is around 5 seconds, Excel is
> immediate, PowerPoint 1 second, Outlook between 2 and 5 seconds, depending on the profile. I'd be interested as to how this
> compares with other users)

To know how long it *really* takes, you have to run each program right
after a fresh boot, because many of the DLLs are loaded and stay in
memory, making the load faster the next time you run that, or another
Office, app. Not saying *that* is a bad thing, just that it distorts the time
one of those applications actually takes to load from scratch.


I just rebooted my PC, and once the disk quieted down, started Word
2003, and it took about 4 seconds. My PC is an Athlon 64 X2 4800+,
2GB RAM, an Athlon A8N-SLI Premium system board and boots
from two striped Western Digital 10,000RPM Raptor drives.

Norton Antivirus does slow it down a lot. But, considering what a virus
scan entails, I/O and CPU wise, it's probably not excessive.
--
Judson McClendon judmc(a)sunvaley0.com (remove zero)
Sun Valley Systems http://sunvaley.com
"For God so loved the world that He gave His only begotten Son, that
whoever believes in Him should not perish but have everlasting life."



From: Pete Dashwood on


"Howard Brazee" <howard(a)brazee.net> wrote in message
news:q4skf3pc9r7f3ci0tke32218blaf56avfl(a)4ax.com...
> On Thu, 27 Sep 2007 01:04:49 +1200, "Pete Dashwood"
> <dashwood(a)removethis.enternet.co.nz> wrote:
>
>>Again, to me at least, this just completely confirms that it is not
>>possible
>>to make meaningful statements about performance unless you run actual
>>tests.
>
> Another thing it shows is that you shouldn't expect those efficiencies
> that one needed to determine via testing to stay the most efficient as
> compilers and platforms change.

I agree. That is probably the single most important thing to be learned
here.

Pete.
--
"I used to write COBOL...now I can do anything."


From: Robert on
On Wed, 26 Sep 2007 05:48:34 GMT, "William M. Klein" <wmklein(a)nospam.netcom.com> wrote:

>"Robert" <no(a)e.mail> wrote in message
>news:1eljf358c4bph284c6md1oorfos07q76q0(a)4ax.com...
>> On Wed, 26 Sep 2007 02:29:59 GMT, "William M. Klein"
>> <wmklein(a)nospam.netcom.com> wrote:
>>
><snip>
>> As you requested, I compiled speed2 with ENTCOBOL and NOMF at the end of the
>> options
>> already there. Getting it to compile required three changes:
>> Change To
>> comp-5 binary
>> goback stop run
>> exit perform cycle continue
>
>Robert,
> Please post your LISTING (with SETING(COL3)) as being rquired to change COMP-5
>and GOBACK means that SOMETHING you did wasn't right.
>
>NOMF DIALECT(ENTCOBOL) FLAGAS(S) (ro example) should accept both of those.
>
>If you did NOT use the "dialect" directive, then you need to use
> NOMF ENTCOBOL FLAG(ENTCOBOL) FLAGAS(S)
>
>(using SETTING(COL3) and LIST() will show which directives you actually have
>on.>

* Micro Focus COBOL for UNIX V4.1 revision 040
Page 1
* speed2a.cbl
$SET SOURCEFORMAT"FREE"
$SET NOBOUND
$SET OPT"2"
$SET NOTRUNC
$SET IBMCOMP
$SET NOCHECK
$SET ALIGN"8"
$SET NOMF
$SET FLAGAS(S)
$SET ARITHMETIC(ENTCOBOL)
$SET DIALECT(ENTCOBOL)
$SET SETTING(COL3)

* Setting: NO01SHUFFLE NOACCEPTREFRESH NOADV
* ALIGN"8" ALPHASTART"1" ALTER
* NOAMODE NOANALYZE NOANIM
* ANS85 NOAPOST NOAREACHECK
* ARITHMETIC"MF" ASSIGN"DYNAMIC"
NOASSIGN-PRINTER
* NOAUTOLOCK NOBELL NOBOUND
* NOBRIEF NOBROWSE NOBYTEMODEMOVE
* NOCALL-RECOVERY CALLFH"EXTFH" NOCALLMCS
* NOCALLSORT CANCELLBR NOCHANGEMESSAGE
* CHARSET"ASCII" CHECKDIV"ANSI" CHIP"16"
* NOCICS CICS-CPY NOCICSOPTIMIZE
* NOCMPR2 COBCPY($COBCPY) NOCOBFSTATCONV
* NOCOBIDY NOCOBOL370 COBOLDIR
* NOCOMP COMP-5"2" COMP-6"2"
* NOCOMS85 NOCONFIRM NOCONVERTPTR
* NOCONVERTRET CONVSPACE
COPYEXT",cbl,cpy"
* NOCOPYLBR COPYLIST NOCSI
* CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY"
DATACOMPRESS"0"
* DATE DBCHECK DBCS"3"
* NODBCSSOSI DBSPACE DE-EDIT"2"
* DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK
* NODG DIRECTIVES-IN-COMMENTS
* NODOSVS DYNAM EANIM"0"
* NOEARLY-RELEASE ECHO NOECHOALL
* NOEDITOR ENSUITE"0"
ERRLIST"EMBED"
* NOERRQ NOEXTINDEX FASTSORT
* NOFCDREG NOFDCLEAR NOFILESHARE
* FILETYPE"0" NOFLAG NOFLAG-CHIP
* FLAGAS"S" NOFLAGCD NOFLAGMIG
* NOFLAGQ FLAGSINEDIT NOFLAGSTD
* FLASH"ZOOM" NOFOLDCALLNAME NOFOLDCOPYNAME
* FORM"60" NOFP-ROUNDING NOGNTANLZ
* NOHOST-NUMCOMPARE NOIBM-MS IBMCOMP
* IDXFORMAT"0" NOINCLUDE-FILLER NOINDD
* INFORETURN"0" NOINITCALL
INT"speed2a.int"
* INTLEVEL"2" IOCONV KEEP-INT
* KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN
* NOLINE-COUNT LINKCOUNT"64" LIST
* LISTPATH"" LISTWIDTH"80"
LITVAL-SIZE"4"
* LOCKTYPE"0" NOMAPNAME NOMAXERROR
* NOMF NOMF-OO NOMFCOMMENT
* speed2a.cbl
* NOMS NATIVE"ASCII" NONCHAR
* NONESTCALL NONLS NOODOOSVS
* NOODOSLIDE NOOLDBLANKLINE NOOLDCOPY
* NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
* NOOLDSTRMIX NOOLDSTRSUB OOCTRL...
* ..."-B-C-E-G-N-P+Q+R-S+V-W-8" OPTIONAL-FILE
* OSEXT"" NOOSVS NOOUTDD
* NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
* NOPREPROCESS NOPRINT-EXT NOPROFILE
* NOPROGID-COMMENT NOPROTECT-LINKAGE QUAL
* QUALPROC NOQUERY QUOTE
* NORAWLIST NORDW RECMODE"F"
* NOREF NOREFNO
REPORT-LINE"256"
* NORESEQ NORETRYLOCK REWRITE-LS
* NORM NORNIM
RTNCODE-SIZE"2"
* NOSAA SEG NOSEQCHK
* SEQUENTIAL"RECORD" SETTING"COL3" NOSHOW-DIR
* NOSHOWSHUFFLE SIGN"ASCII"
SOURCEFORMAT"FREE"
* NOSPZERO NOSQL NOSSRANGE
* STDERR NOSTICKY-LINKAGE
NOSTICKY-PERFORM
* NOSTRUCT SUPFF SYMBSTART"1"
* NOSYSIN TERMPAGE TIME
* NOTRACE NOTRUNC NOTRUNCCALLNAME
* NOTRUNCCOPY NOVERBOSE NOVSC2
* WARNING"1" NOWB NOWB2
* NOWB3 NOWRITELOCK NOWRITETHRU
* NOXNIM NOXOPEN NOXREF
* NOZEROLENGTHFALSE NOZEROSEQ NOZWB
*
identification division.
program-id. Speed2a.
author. Robert Wxagner.

data division.
working-storage section.
01 test-data.
05 comp5-number binary pic s9(09) sync.
05 binary-number binary pic s9(09) sync.
05 display-number pic 9(09).
05 s-subscript binary pic s9(09) sync.
05 test-byte pic x(01).

01 misaligned-area.
05 array-element occurs 4096 indexed x-index.
10 misaligned-number binary pic s9(09).
10 to-cause-misalignment pic x(01).
05 byte-element occurs 4096 indexed x-index-1 pic x.

01 timer-variables.
05 test-name pic x(30).
05 repeat-factor value 100000000 binary pic s9(09).
05 current-date-structure.
10 pic x(08).
10 time-now-hhmmsshh.
15 hours pic 9(02).
15 minutes pic 9(02).
15 secs pic 9(02).
15 hundredths pic v9(02).
10 pic x(05).
05 time-now pic 9(06)v99.
05 time-start pic 9(06)v99.
05 timer-overhead value zero pic 9(06)v99.
05 elapsed-time pic s9(06)v99.
05 elapsed-time-display.
10 elapsed-time-edited pic z(05).


procedure division.

initialize test-data, misaligned-area

move 'Null test' to test-name
perform timer-on
perform timer-on
perform repeat-factor times
continue
end-perform
perform timer-off
compute timer-overhead = (time-now - time-start)

move 'Index' to test-name
set x-index to 1000
perform timer-on
perform repeat-factor times
if x-index = 1000
set x-index up by 1
else
set x-index down by 1
end-if
move array-element (x-index) to test-byte
continue
end-perform
perform timer-off

move 'Subscript' to test-name
move 1000 to s-subscript
perform timer-on
perform repeat-factor times
if s-subscript = 1000
add 1 to s-subscript
else
subtract 1 from s-subscript
end-if
move array-element (s-subscript) to test-byte
continue
end-perform
perform timer-off

move 'Subscript comp-5' to test-name
move 1000 to comp5-number
perform timer-on
perform repeat-factor times
if comp5-number = 1000
add 1 to comp5-number
else
subtract 1 from comp5-number
end-if
move array-element (comp5-number) to test-byte
continue
end-perform
perform timer-off

move 'Index 1' to test-name
set x-index-1 to 1000
perform timer-on
perform repeat-factor times
if x-index-1 = 1000
set x-index-1 up by 1
else
set x-index-1 down by 1
end-if
move byte-element (x-index-1) to test-byte
continue
end-perform
perform timer-off

move 'Subscript 1' to test-name
move 1000 to s-subscript
perform timer-on
perform repeat-factor times
if s-subscript = 1000
add 1 to s-subscript
else
subtract 1 from s-subscript
end-if
move byte-element (s-subscript) to test-byte
continue
end-perform
perform timer-off

move 'Subscript 1 comp-5' to test-name
move 1000 to comp5-number
perform timer-on
perform repeat-factor times
if comp5-number = 1000
add 1 to comp5-number
else
subtract 1 from comp5-number
end-if
move byte-element (comp5-number) to test-byte
continue
end-perform
perform timer-off

stop run

. dummy section
. timer-on.
perform read-the-time
move time-now to time-start
. timer-off.
perform read-the-time
compute elapsed-time rounded = ((time-now - time-start)
* 100000000 / repeat-factor) - timer-overhead
if elapsed-time not greater than zero
move 'error' to elapsed-time-display
else
compute elapsed-time-edited rounded = elapsed-time * 10
end-if
display test-name elapsed-time-display
. read-the-time.
accept time-now-hhmmsshh from time
*> move function current-date to current-date-structure
compute time-now =
((((hours * 60) +
minutes) * 60) +
secs) +
hundredths
.
* Total Messages: 0
* Data: 25176 Code: 895
From: William M. Klein on
Interesting ....
I don't know if it was fixed with the later ServerExperss, but if you look at
the directives in your listing, it shows as
NOFLAG

something must be turning this off. (Also, this is the "changed" version as it
doesn't have COMP-5 or GOBACK - which were the two things that I thought it
WOULD accept with FLAG(ENTCOBOL).. However, it does have code in columns 1-6
which SHOULD get flagged with FLAG(ENTCOBOL).

--
Bill Klein
wmklein <at> ix.netcom.com
"Robert" <no(a)e.mail> wrote in message
news:664lf3pe0kugchcsb1eadf56ov99rfrs1m(a)4ax.com...
> On Wed, 26 Sep 2007 05:48:34 GMT, "William M. Klein"
> <wmklein(a)nospam.netcom.com> wrote:
>
>>"Robert" <no(a)e.mail> wrote in message
>>news:1eljf358c4bph284c6md1oorfos07q76q0(a)4ax.com...
>>> On Wed, 26 Sep 2007 02:29:59 GMT, "William M. Klein"
>>> <wmklein(a)nospam.netcom.com> wrote:
>>>
>><snip>
>>> As you requested, I compiled speed2 with ENTCOBOL and NOMF at the end of the
>>> options
>>> already there. Getting it to compile required three changes:
>>> Change To
>>> comp-5 binary
>>> goback stop run
>>> exit perform cycle continue
>>
>>Robert,
>> Please post your LISTING (with SETING(COL3)) as being rquired to change
>> COMP-5
>>and GOBACK means that SOMETHING you did wasn't right.
>>
>>NOMF DIALECT(ENTCOBOL) FLAGAS(S) (ro example) should accept both of those.
>>
>>If you did NOT use the "dialect" directive, then you need to use
>> NOMF ENTCOBOL FLAG(ENTCOBOL) FLAGAS(S)
>>
>>(using SETTING(COL3) and LIST() will show which directives you actually have
>>on.>
>
> * Micro Focus COBOL for UNIX V4.1 revision 040
> Page 1
> * speed2a.cbl
> $SET SOURCEFORMAT"FREE"
> $SET NOBOUND
> $SET OPT"2"
> $SET NOTRUNC
> $SET IBMCOMP
> $SET NOCHECK
> $SET ALIGN"8"
> $SET NOMF
> $SET FLAGAS(S)
> $SET ARITHMETIC(ENTCOBOL)
> $SET DIALECT(ENTCOBOL)
> $SET SETTING(COL3)
>
> * Setting: NO01SHUFFLE NOACCEPTREFRESH NOADV
> * ALIGN"8" ALPHASTART"1" ALTER
> * NOAMODE NOANALYZE NOANIM
> * ANS85 NOAPOST NOAREACHECK
> * ARITHMETIC"MF" ASSIGN"DYNAMIC"
> NOASSIGN-PRINTER
> * NOAUTOLOCK NOBELL NOBOUND
> * NOBRIEF NOBROWSE NOBYTEMODEMOVE
> * NOCALL-RECOVERY CALLFH"EXTFH" NOCALLMCS
> * NOCALLSORT CANCELLBR NOCHANGEMESSAGE
> * CHARSET"ASCII" CHECKDIV"ANSI" CHIP"16"
> * NOCICS CICS-CPY NOCICSOPTIMIZE
> * NOCMPR2 COBCPY($COBCPY) NOCOBFSTATCONV
> * NOCOBIDY NOCOBOL370 COBOLDIR
> * NOCOMP COMP-5"2" COMP-6"2"
> * NOCOMS85 NOCONFIRM NOCONVERTPTR
> * NOCONVERTRET CONVSPACE
> COPYEXT",cbl,cpy"
> * NOCOPYLBR COPYLIST NOCSI
> * CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY"
> DATACOMPRESS"0"
> * DATE DBCHECK DBCS"3"
> * NODBCSSOSI DBSPACE DE-EDIT"2"
> * DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK
> * NODG DIRECTIVES-IN-COMMENTS
> * NODOSVS DYNAM EANIM"0"
> * NOEARLY-RELEASE ECHO NOECHOALL
> * NOEDITOR ENSUITE"0"
> ERRLIST"EMBED"
> * NOERRQ NOEXTINDEX FASTSORT
> * NOFCDREG NOFDCLEAR NOFILESHARE
> * FILETYPE"0" NOFLAG NOFLAG-CHIP
> * FLAGAS"S" NOFLAGCD NOFLAGMIG
> * NOFLAGQ FLAGSINEDIT NOFLAGSTD
> * FLASH"ZOOM" NOFOLDCALLNAME NOFOLDCOPYNAME
> * FORM"60" NOFP-ROUNDING NOGNTANLZ
> * NOHOST-NUMCOMPARE NOIBM-MS IBMCOMP
> * IDXFORMAT"0" NOINCLUDE-FILLER NOINDD
> * INFORETURN"0" NOINITCALL
> INT"speed2a.int"
> * INTLEVEL"2" IOCONV KEEP-INT
> * KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN
> * NOLINE-COUNT LINKCOUNT"64" LIST
> * LISTPATH"" LISTWIDTH"80"
> LITVAL-SIZE"4"
> * LOCKTYPE"0" NOMAPNAME NOMAXERROR
> * NOMF NOMF-OO NOMFCOMMENT
> * speed2a.cbl
> * NOMS NATIVE"ASCII" NONCHAR
> * NONESTCALL NONLS NOODOOSVS
> * NOODOSLIDE NOOLDBLANKLINE NOOLDCOPY
> * NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
> * NOOLDSTRMIX NOOLDSTRSUB OOCTRL...
> * ..."-B-C-E-G-N-P+Q+R-S+V-W-8" OPTIONAL-FILE
> * OSEXT"" NOOSVS NOOUTDD
> * NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
> * NOPREPROCESS NOPRINT-EXT NOPROFILE
> * NOPROGID-COMMENT NOPROTECT-LINKAGE QUAL
> * QUALPROC NOQUERY QUOTE
> * NORAWLIST NORDW RECMODE"F"
> * NOREF NOREFNO
> REPORT-LINE"256"
> * NORESEQ NORETRYLOCK REWRITE-LS
> * NORM NORNIM
> RTNCODE-SIZE"2"
> * NOSAA SEG NOSEQCHK
> * SEQUENTIAL"RECORD" SETTING"COL3" NOSHOW-DIR
> * NOSHOWSHUFFLE SIGN"ASCII"
> SOURCEFORMAT"FREE"
> * NOSPZERO NOSQL NOSSRANGE
> * STDERR NOSTICKY-LINKAGE
> NOSTICKY-PERFORM
> * NOSTRUCT SUPFF SYMBSTART"1"
> * NOSYSIN TERMPAGE TIME
> * NOTRACE NOTRUNC NOTRUNCCALLNAME
> * NOTRUNCCOPY NOVERBOSE NOVSC2
> * WARNING"1" NOWB NOWB2
> * NOWB3 NOWRITELOCK NOWRITETHRU
> * NOXNIM NOXOPEN NOXREF
> * NOZEROLENGTHFALSE NOZEROSEQ NOZWB
> *
> identification division.
> program-id. Speed2a.
> author. Robert Wxagner.
>
> data division.
> working-storage section.
> 01 test-data.
> 05 comp5-number binary pic s9(09) sync.
> 05 binary-number binary pic s9(09) sync.
> 05 display-number pic 9(09).
> 05 s-subscript binary pic s9(09) sync.
> 05 test-byte pic x(01).
>
> 01 misaligned-area.
> 05 array-element occurs 4096 indexed x-index.
> 10 misaligned-number binary pic s9(09).
> 10 to-cause-misalignment pic x(01).
> 05 byte-element occurs 4096 indexed x-index-1 pic x.
>
> 01 timer-variables.
> 05 test-name pic x(30).
> 05 repeat-factor value 100000000 binary pic s9(09).
> 05 current-date-structure.
> 10 pic x(08).
> 10 time-now-hhmmsshh.
> 15 hours pic 9(02).
> 15 minutes pic 9(02).
> 15 secs pic 9(02).
> 15 hundredths pic v9(02).
> 10 pic x(05).
> 05 time-now pic 9(06)v99.
> 05 time-start pic 9(06)v99.
> 05 timer-overhead value zero pic 9(06)v99.
> 05 elapsed-time pic s9(06)v99.
> 05 elapsed-time-display.
> 10 elapsed-time-edited pic z(05).
>
>
> procedure division.
>
> initialize test-data, misaligned-area
>
> move 'Null test' to test-name
> perform timer-on
> perform timer-on
> perform repeat-factor times
> continue
> end-perform
> perform timer-off
> compute timer-overhead = (time-now - time-start)
>
> move 'Index' to test-name
> set x-index to 1000
> perform timer-on
> perform repeat-factor times
> if x-index = 1000
> set x-index up by 1
> else
> set x-index down by 1
> end-if
> move array-element (x-index) to test-byte
> continue
> end-perform
> perform timer-off
>
> move 'Subscript' to test-name
> move 1000 to s-subscript
> perform timer-on
> perform repeat-factor times
> if s-subscript = 1000
> add 1 to s-subscript
> else
> subtract 1 from s-subscript
> end-if
> move array-element (s-subscript) to test-byte
> continue
> end-perform
> perform timer-off
>
> move 'Subscript comp-5' to test-name
> move 1000 to comp5-number
> perform timer-on
> perform repeat-factor times
> if comp5-number = 1000
> add 1 to comp5-number
> else
> subtract 1 from comp5-number
> end-if
> move array-element (comp5-number) to test-byte
> continue
> end-perform
> perform timer-off
>
> move 'Index 1' to test-name
> set x-index-1 to 1000
> perform timer-on
> perform repeat-factor times
> if x-index-1 = 1000
> set x-index-1 up by 1
> else
> set x-index-1 down by 1
> end-if
> move byte-element (x-index-1) to test-byte
> continue
> end-perform
> perform timer-off
>
> move 'Subscript 1' to test-name
> move 1000 to s-subscript
> perform timer-on
> perform repeat-factor times
> if s-subscript = 1000
> add 1 to s-subscript
> else
> subtract 1 from s-subscript
> end-if
> move byte-element (s-subscript) to test-byte
> continue
> end-perform
> perform timer-off
>
> move 'Subscript 1 comp-5' to test-name
> move 1000 to comp5-number
> perform timer-on
> perform repeat-factor times
> if comp5-number = 1000
> add 1 to comp5-number
> else
> subtract 1 from comp5-number
> end-if
> move byte-element (comp5-number) to test-byte
> continue
> end-perform
> perform timer-off
>
> stop run
>
> . dummy section
> . timer-on.
> perform read-the-time
> move time-now to time-start
> . timer-off.
> perform read-the-time
> compute elapsed-time rounded = ((time-now - time-start)
> * 100000000 / repeat-factor) - timer-overhead
> if elapsed-time not greater than zero
> move 'error' to elapsed-time-display
> else
> compute elapsed-time-edited rounded = elapsed-time * 10
> end-if
> display test-name elapsed-time-display
> . read-the-time.
> accept time-now-hhmmsshh from time
> *> move function current-date to current-date-structure
> compute time-now =
> ((((hours * 60) +
> minutes) * 60) +
> secs) +
> hundredths
> .
> * Total Messages: 0
> * Data: 25176 Code: 895