[Info-vax] Example of random access by record number on an RMS fixed record size, relative organization file?

bill bill.gunshannon at gmail.com
Thu Sep 21 08:19:42 EDT 2023


On 9/20/2023 8:07 PM, Arne Vajhøj wrote:
> On 9/20/2023 12:23 PM, bill wrote:
>> Funny thing about this.  I found very little about it in any of
>> the (many) COBOL books I have.  I also don't remember ever having
>> done it in a production program in my entire 40 year career.
>> This kind of task was done much better with ISAM and today it
>> would be database.
> 
> I don't think relative files has been big anywhere anytime.
> 
> But it is supported in the Cobol standard.
> 
> I don't see any point of relative files in newer times, but
> I suspect that going sufficiently long time back there were
> performance reasons to prefer relative over indexed/ISAM

While ISAM may be less efficient relative files can waste a
lot of space.  Space is allocated for empty records and back
in the good ole days disk space was premium and very expensive.


> 
> A relative read is:
> 
> calculate byte offset = record number * record length
> read record length bytes starting at byte offset from file
> 
> An indexed/ISAM read is:
> 
> read root page
> search in root page and find next level index page
> read index page
> search in index page and find either next level index page or data page
> ...
> read data page
> find record in data page
> 
> Difference in both number of IO's and CPU usage.
> 
> Does it matter on a x86-86? Probably not.
> 
> Did it matter on Itanium and Alpha? Probably not.
> 
> Did it matter on VAX? Maybe in some cases.
> 
> Did it matter on PDP-11? Probably.
> 
> Did it matter on PDP-8? If stuff like this was even possible then I am 
> pretty sure yes.
> 
> Arne
> 

bill




More information about the Info-vax mailing list