Skip Navigational Links
LISTSERV email list manager
LISTSERV - COMMUNITY.EMAILOGY.COM
LISTSERV Menu
Log In
Log In
LISTSERV 17.5 Help - LSTSRV-L Archives
LISTSERV Archives
LISTSERV Archives
Search Archives
Search Archives
Register
Register
Log In
Log In

LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Menu
LISTSERV Archives LISTSERV Archives
LSTSRV-L Home LSTSRV-L Home

Log In Log In
Register Register

Subscribe or Unsubscribe Subscribe or Unsubscribe

Search Archives Search Archives
Options: Use Forum View

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:
LSVBITFD improvement
From:
CERN Eric Thomas <ERIC@CEARN>
Reply To:
Revised LISTSERV forum <LSTSRV-L@DEARN>
Date:
Thu, 24 Mar 88 23:00:00 GVA
Content-Type:
text/plain
Parts/Attachments:
text/plain (21 lines)
Well I  was removing the 'EDITREG'  macro from the LSVBITFD  ASSEMBLE file and
replacing it with a  suitable expansion when I found a  way to further improve
the performance of  the thing. A very easy  way in fact: most of  the nodes in
the network  are end-nodes, with  only one connection  to the outer  world. By
flagging these  nodes during  the initalization phase  as "already  queued for
re-evaluation" without actually queueing them up  the chained list, I was able
to save  25 to  30% CPU time.  I was amazed  - I  had thought there  were less
end-nodes and that consequently the overhead was not that bad, and anyway with
the  old  "wraparound"  ( :-)  )  heap  structure  I  couldn't avoid  it.  But
apparently this less-than-10-lines change seems to  be really worth it. I have
compared the results with  the old version and they DO match.  I'm now down to
0.10 sec CPU on this 4341-12 in the  best cases, instead of 0.17 with the heap
version  (the  standard  deviation  became   much  more  significant  since  I
introduced the  list/flag array structure;  if the source  node is a  hub node
like CEARN or DEARN or CUNYVM, you get  some 0.10; if it's a dead-end node you
more CPU).
 
Computers can be VERY surprising when they want to :-)
 
  Eric

ATOM RSS1 RSS2

COMMUNITY.EMAILOGY.COM CataList Email List Search Powered by LISTSERV