On Fri, 17 Aug 2012, Jens Lohne Eftang wrote:

> On 08/17/2012 04:47 PM, Roy Stogner wrote:
>> 
>> On Fri, 17 Aug 2012, Jens Lohne Eftang wrote:
>> 
>>> In the svn head, the exact line numbers are 752-768, and 780-799. I am 
>>> running in opt mode, and it's on a workstation (no cluster).
>> 
>> Ah, this might be more interesting then: could you log the
>> idx_map.resize(...) and local_values.resize(...) separately? Maybe
>> the problem is simply memory allocation...

> the idx_map.resize() alone is 81 seconds.

That's not counting the std::fill afterwards?

Interesting.

Try making the idx_map declaration static and see if it improves
things at all?  I don't think we want to do that long-term, but if
there's any improvement we could look for other ways to fix up the
cost here.

> The local_values.resize() is negligible.

That may make sense.  idx_map is allocating ~3MB - it's designed for
large reads, not large numbers of small reads.  local_values is
allocating ~15kB in your case.  It might knock 80 seconds off your
time if we just use smaller block sizes when appropriate so we don't
overallocate on small systems.
---
Roy

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to