HP3000-L Archives

February 1999, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Fri, 5 Feb 1999 15:08:59 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (107 lines)
Hi,

Beating a dead horse :)

Gavin wanted me to do some NM-only tests (no CM stuff).  So...I did. :)

The short answer is:

   17% to 20% overhead when MI (Measurement Interface) is turned on.

   When reading a simple flat file with FREAD intrinsic, the
   path length (number of instructions) jumps from about
   997 instructions to 1178 instructions, or an 18% growth.

For those who are interested, here are two more tests in detail,
both using strictly NM applications (reading a KSAM/iX file for
the first case, and reading a flat file for the second case)

The summary appears to be:

   Applications in CM that do file system activity have the most
   overhead;

   Applications in NM that do file system activity have a fair
   amount of overhead.

   Applications in NM that do few file system calls have little or
   no overhead.  (E.g., I timed my REP utility and saw essentially
   no difference ... it uses *big* MR/NBUF reads)

--------------------------------------------------------------------
Test 2: 20% overhead :: KSAM/iX serial read

Test methodology:

  1) Build a KSAM/iX file with copy of CATALOG.PUB.SYS

     a) build testfile;rec=-80,16,f,ascii;ksamxl;key=(b,1,80);disc=14100
     b) fcopy from=catalog.pub.sys; to=testfile; nouserlabels

     Note: I used MPE/iX 6.0 CATALOG.PUB.SYS, which has 14033
     records of 80 bytes.

  2) Time how long it takes to FREAD the entire TESTFILE file
     (serial read, no MR/NOBUF)

     Simple Pascal NMPRG program that FOPEN's with IN access,
     and does:

         while not done do
            i := fread (fid, buf, -80);
            if ccode <> cce then
               done := true;

Timings:

   no MI:
      Took: 9579 CPU, 9688 elapsed milliseconds.
      Took: 9550 CPU, 9629 elapsed milliseconds.

   MI on:
      Took: 11427 CPU, 11648 elapsed milliseconds.
      Took: 11421 CPU, 11638 elapsed milliseconds.

MI overhead:

      CPU overhead:     19%   (11421 / 9579)
      Elapsed overhead: 20%   (11638 / 9688)

----------------------------------------------------------------
Test 3: 17% overhead :: flat file serial read (simple)

Test methodology:

  1) :copy CATALOG.PUB.SYS, TESTFILE

  2) Time how long it takes to FREAD the entire TESTFILE file
     (serial read, no MR/NOBUF)

     (same simple NM Pascal program as test 2 above)

Timings:

   no MI:
      Took: 1285 CPU, 1297 elapsed milliseconds.
      Took: 1296 CPU, 1308 elapsed milliseconds.

   MI on:
      Took: 1517 CPU, 1545 elapsed milliseconds.
      Took: 1518 CPU, 1542 elapsed milliseconds.

MI overhead:

      CPU overhead:     17%   (1517 / 1296)
      Elapsed overhead: 17%   (1542 / 1308)


One extra datapoint:
   One NM FREAD call took  997 instructions without MI
   One NM FREAD call took 1178 instructions with    MI

   MI Overhead: 181 extra instructions (or, 18% longer code path)

--
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2