site:
site:

Replaced numpy.put statement with an equivalent array assignment.

numpy.put was showing up a profiling report and was found to be a major
bottleneck, consuming 1-2ms per call. For a test computation on 1 source
with a SiteCollection containing 95k sites, 82% of the time was spent
on `put` calls.

The first profiling test ran in 6078.557 seconds. With this optimization,
the same test ran in 1107.623 seconds.

g-weatherill/oq-hazardlib,mmpagani/oq-hazardlib,g-weatherill/oq-hazardlib,mmpagani/oq-hazardlib,gem/oq-engine,vup1120/oq-hazardlib,rcgee/oq-hazardlib,g-weatherill/oq-hazardlib,vup1120/oq-hazardlib,gem/oq-engine,vup1120/oq-hazardlib,larsbutler/oq-hazardlib,gem/oq-hazardlib,mmpagani/oq-hazardlib,g-weatherill/oq-hazardlib,gem/oq-engine,gem/oq-hazardlib,ROB-Seismology/oq-hazardlib,silviacanessa/oq-hazardlib,silviacanessa/oq-hazardlib,gem/oq-engine,silviacanessa/oq-hazardlib,rcgee/oq-hazardlib,ROB-Seismology/oq-hazardlib,ROB-Seismology/oq-hazardlib,larsbutler/oq-hazardlib,larsbutler/oq-hazardlib,gem/oq-engine,gem/oq-hazardlib,silviacanessa/oq-hazardlib,ROB-Seismology/oq-hazardlib