At 14:22 +0200 on 12/31/2008, Binyamin Dissen wrote about Re: Syncsort Oddity:

On Wed, 31 Dec 2008 13:56:20 +0200 ??? ??  ??? <[email protected]> wrote:

:>I¹ve encountered something in Syncsort, and I¹m looking for an explanation.

:>One of our users used Syncsort to copy a dataset.

:>The input file had 93386 tracks in 10 extents.

:>The output file had 64815 tracks in 2 extents.

:>Both files  are LRECL=27904 BLKSIZE=27998 RECFM=VB DSNTYPE=LARGE.

:>The copy job used Syncsort¹s SDB=ON option


:>Both are allocated on the same type of DASD (3390-54).

:>When we say the 30% difference in size we used IEBCOMPR to compare the two file, and the result was that they were identical.



:>Another test was done. This time, Syncsort was used to copy records that had a specific value in a specific field. On the large (Input) file, the job ran for 64 seconds. On the small (Output) file the same operation took 7 seconds.



:>Can anyone explain this?


I would look at the raw input file and see how it was blocked. Perhaps the
program that created the file wrote smaller blocks.


Was the original file created in one pass or was it updated over a number of runs? If the later then the problem may be that each time you open file, you start with a new block in lieu of reading the last block, extending it, and then rewriting the larger block before starting a new block. There is also the possibility that the Syncsort keeps track of the remaining space on the track and flushes the buffer as soon as the next record would force the block to be longer than the remaining room. IOW: You have 2000 bytes left on the track and can write a 1900 byte record so you do so in lieu of waiting until the block is ~27998 bytes.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to