U++ framework
Do not panic. Ask here before giving up.

Home » Developing U++ » U++ Developers corner » SSE2 and SVO optimization (Painter, memcpy....)
Re: BufferPainter::Clear() optimization [message #54046 is a reply to message #54045] Fri, 22 May 2020 19:03 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
Added memcpy optimized for sizeof 8 and 16 and this little neat function to make sense from it all:

template <class T>
void memcpy_t(T *t, const T *s, size_t count)
{
	if((sizeof(T) & 15) == 0)
		memcpydq((dqword *)t, (const dqword *)s, count * (sizeof(T) >> 4));
	else
	if((sizeof(T) & 7) == 0)
		memcpyq((qword *)t, (const qword *)s, count * (sizeof(T) >> 3));
	else
	if((sizeof(T) & 3) == 0)
		memcpyd((dword *)t, (const dword *)s, count * (sizeof(T) >> 2));
	else
		svo_memcpy((void *)t, (void *)s, count * sizeof(T));
}


Vector<String>::ReAlloc(int newalloc)

disassembly now looks magnificent, copying elements to new buffer with SSE2...
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Should we still care about big-endian CPUs?
Next Topic: TheIDE crash after switching package
Goto Forum:
  


Current Time: Tue Sep 15 23:14:04 GMT+2 2026

Total time taken to generate the page: 0.01948 seconds