[ https://issues.apache.org/jira/browse/XERCESC-1230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Boris Kolpackov closed XERCESC-1230. ------------------------------------ Resolution: Fixed Fix Version/s: 3.0.1 Fixed in 3.0.1 > Avoid unnecessary sync points in MemoryManagerImpl > -------------------------------------------------- > > Key: XERCESC-1230 > URL: https://issues.apache.org/jira/browse/XERCESC-1230 > Project: Xerces-C++ > Issue Type: Improvement > Components: Miscellaneous > Affects Versions: 2.3.0 > Environment: Sun Solaris 5.8 > Reporter: Michael Kopp > Priority: Minor > Fix For: 3.0.1 > > > I found that a delete(NULL) call is a sync point although it really doesn't > do anything. That is especially anoying in the transcode functions that call > deallocate on 'allocatedArray' even if it is null. > The fix is very simple, just change the MemoryManagerImpl::deallocate: > void MemoryManagerImpl::deallocate(void* p) > { > if (p != NULL) > ::operator delete(p); > } > Believe it or not but this improved my scalability a lot as this was one of > the very few places that still did a delete call in my code. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org