On Fri, 20 Jun 2008, David Berry wrote:
> 2008/6/20 Peter W. Draper <[log in to unmask]>:
>> On Fri, 20 Jun 2008, Tim Jenness wrote:
>>
>>> 27322 (dberry):
>>> hds: Speed up the packing and unpacking of Structure Record
>>> Vector
>>> elements.
>>>
>>> libraries/hds/dat1_pack_srv.c
>>> libraries/hds/dat1_unpack_srv.c
>>
>> Begs the question, by how much?
>
> I've been doing some profiling of smurf:makemap (using Intel's vtune -
> seems very useful - if you have an Intel processor). With the original
> version of dat1_unpack_srv. vtune reports 11741 ticks in
> dat1_unpack_srv. Changing to the new version with everything else left
> unchanged, this becomes 6066 ticks. So that's about doubling the speed
> of dat1_unpack_srv.
>
> How much impact this has on an application obviously depends on how
> many times dat1_unpack_srv is called, which in turn depends on the
> complexity of the HDS structure (if I'm understanding HDS correctly).
> In my makemap test data, about 50% was reported as being used in
> dat1_unpack_srv. This may have something to do with the fact that each
> of the 4 input NDFs has an extension containing about 9000 other NDFs,
> all of which were being opened and closed several times during the
> course of running makemap.
Choke, that's a lot of NDFs. So I don't expect this is typical behaviour!
> I managed to cut down the number of times these NDFs were being opened,
> reducing the run time to 118 seconds. I then tweaked the dat1_unpack_srv
> algorithm, and got this down to 87 seconds.
Sounds really good, what was the number before 118 seconds?
Cheers,
Peter.
|