[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index] [Date Index] [Thread Index]
[SQR-USERS Info] [SQRUG Home Page]

Re: SQR and multi threading



Just an incremental two-cents'-worth to add to Ray's excellent discussion
of compute-bound and I/O-bound programs:

If I have learned one thing in thirty years of whacking bits, it's
this:  I/O takes much, much longer than everything else, unless you are
computing orbits or something like that.  This is why I always enjoy those
discussions of whether to use "add 1 to #x" versus "let #x = #x + 1".  It
just doesn't matter.

If you are writing a report that produces a line or two of output per table
row, and you have fewer than 10,000 table rows, you probably can't change
your program's performance very much, for better or worse.  A really
terrific index might get you a little if it's entirely database limited,
and multiple processors might help if each row represents an asteroid, and
you're calculating the possibility of it striking the Earth.  But mostly,
it'll run about as fast as if you printed "The quick brown fox ..." 10,000
times.

If you have a client-server arrangement, where every table row and/or print
line is subject to network traffic, then that can be a factor too.

As a side note, the "10,000" above is mostly a function of "disk speed",
meaning how fast your operating system can accept a record and return
control to your application.  I suppose in 1990, the number would have been
more like 1,000 (on a PC).  I'm looking forward to 2010...


Thanks for everyone's participation on this list.  I still learn new things
all the time.

Dave


Dave Donnelly           <dave@isisbio.com>
ISIS BioComp            phone (909) 677-2446      fax (781) 207-5533