- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have a product which spawns some tens of thousands of processes in the course of even a short run, and the 'converting tb5 to MDB' stage uses a couple of gigabytes of memory and takes tens of minutes.
While it's doing this, I ran out of curiosity another copy of vtune and used it to sample the first one. The hottest spot is aStringAlloc in libvtsa_gen.so; 99% of the time is being spent at the single 'leal (%edi,%eax,1),%edx' instruction which is used to check whether some entry in a list has a small enough associated value.
I've ordered four gigabytes more memory, which ought to be enough to have the job complete, but I'm wondering whether this is a pathological case for which VTune is not well optimised.
While it's doing this, I ran out of curiosity another copy of vtune and used it to sample the first one. The hottest spot is aStringAlloc in libvtsa_gen.so; 99% of the time is being spent at the single 'leal (%edi,%eax,1),%edx' instruction which is used to check whether some entry in a list has a small enough associated value.
I've ordered four gigabytes more memory, which ought to be enough to have the job complete, but I'm wondering whether this is a pathological case for which VTune is not well optimised.
Link Copied
0 Replies
![](/skins/images/7FC17B7B85029576C25F1E43CE255B51/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page