home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / arch / 11987 < prev    next >
Encoding:
Internet Message Format  |  1992-12-29  |  1.7 KB

  1. Path: sparky!uunet!cs.utexas.edu!sun-barr!ames!agate!dog.ee.lbl.gov!horse.ee.lbl.gov!torek
  2. From: torek@horse.ee.lbl.gov (Chris Torek)
  3. Newsgroups: comp.arch
  4. Subject: Re: UNIX fseek time (was Re: Comparison of Alpha, MIPS and PA-RISC-II wanted)
  5. Date: 29 Dec 1992 22:33:15 GMT
  6. Organization: Lawrence Berkeley Laboratory, Berkeley CA
  7. Lines: 24
  8. Message-ID: <28162@dog.ee.lbl.gov>
  9. References: <1992Dec24.112422.12434@titan.inmos.co.uk> <1477@pacsoft.com> <1hnqdeINN15a@duca.hi.com>
  10. NNTP-Posting-Host: 128.3.112.15
  11.  
  12. In article <1hnqdeINN15a@duca.hi.com> wright@duca.hi.com (David Wright) writes:
  13. >In addition, fseek() is generally moronic about checking whether the
  14. >new file pointer is within the current buffer.  That is to say, it
  15. >doesn't check.  So if you, say, try to read a file backwards, one byte
  16. >at a time, you'll do as many reads as there are bytes in the file.
  17.  
  18. Speak for yourself. :-)
  19.  
  20. I wrote most of the 4.4BSD stdio (bugs and all---so far we have found
  21. and fixed three or four).  My fseek() can read a file backwards fairly
  22. quickly.  You will do better if you read() directly---no general
  23. subroutine can be perfectly optimal for all tasks---but there is no
  24. longer an order of magnitude slowdown for short backwards seeks when
  25. reading.
  26.  
  27. (Note that, when writing, fseek must perform an fflush(), which translates
  28. into a write and thus may involve block allocation and other very slow
  29. tasks.  The code for reading is largely separate.)
  30.  
  31. None of this has anything to do with UNIX: fseek()'s operation is
  32. defined by ANSI standard X3.159-1989 and its various equivalents.
  33. -- 
  34. In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 510 486 5427)
  35. Berkeley, CA        Domain:    torek@ee.lbl.gov
  36.