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

Home » Community » U++ community news and announcements » String::Cat optimization
String::Cat optimization [message #34575] Wed, 30 November 2011 17:58 Go to previous message
mirek is currently offline  mirek
Messages: 14291
Registered: November 2005
Ultimate Member
By replacing memcpy with

inline void svo_memcpy(char *t, const char *s, int len)
{
	switch(len) {
	case 15: t[14] = s[14];
	case 14: t[13] = s[13];
	case 13: t[12] = s[12];
	case 12: t[11] = s[11];
	case 11: t[10] = s[10];
	case 10: t[9] = s[9];
	case  9: t[8] = s[8];
	case  8: t[7] = s[7];
	case  7: t[6] = s[6];
	case  6: t[5] = s[5];
	case  5: t[4] = s[4];
	case  4: t[3] = s[3];
	case  3: t[2] = s[2];
	case  2: t[1] = s[1];
	case  1: t[0] = s[0];
		return;
	}
	memcpy(t, s, len);
}


I have recieved about 10% improvemenced in the String::Cat for small values.
 
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: Please update sources
Next Topic: New GDB frontend for Theide
Goto Forum:
  


Current Time: Tue Jun 23 01:11:26 GMT+2 2026

Total time taken to generate the page: 0.00714 seconds