Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/19/24 18:45
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (AndrewAMD, kzhao, 7th_zorro), 714 guests, and 7 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 2 1 2
Re: Kleine dll mit nützlichen Funktionen! [Re: Nighthawk] #381699
08/30/11 23:39
08/30/11 23:39
Joined: Apr 2007
Posts: 3,751
Canada
WretchedSid Offline
Expert
WretchedSid  Offline
Expert

Joined: Apr 2007
Posts: 3,751
Canada
Ah, okay. Für die Zukunft; Das ist eine denkbar ungeeignete Datenstruktur für das was du erreichen willst, mit einer hash table schaffst du deutlich höhere Geschwindigkeiten. Wir sprechen hier von nahezu O(1), wohingegen deine Linked List bei O(log N) liegt. Im Gstudio Wiki steht ein bisschen mehr zu der Thematik:
http://www.opserver.de/wiki/index.php/Data_Structures

Edit: Hier ist eine hashing funktion für C-Strings, sie hat den Vorteil das sie kaum Kollisionen hat solange du unter 16 Zeichen bleibst, bei über 16 Zeichen steigert sich aber die Kollisionsgefahr merklich:
Code:
unsigned int HashString(char *string)
{
	size_t length = strlen(string);
	size_t	iterator;
	
	unsigned int res = length;
	
	if(length <= 16) 
	{
		for(iterator=0; iterator<length; iterator++) 
			res = res * 257 + string[iterator];
	} 
	else 
	{
		// Hash the first and last 8 bytes
		for(iterator = 0; iterator<8; iterator++) 
			res = res * 257 + string[iterator];
		
		for(iterator = length - 8; iterator<length; iterator++) 
			res = res * 257 + string[iterator];
	}
	
	return (res << (length & 31));
}



Last edited by JustSid; 08/30/11 23:48.

Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com
Re: Kleine dll mit nützlichen Funktionen! [Re: WretchedSid] #381705
08/31/11 00:20
08/31/11 00:20
Joined: Jun 2011
Posts: 11
N
Nighthawk Offline OP
Newbie
Nighthawk  Offline OP
Newbie
N

Joined: Jun 2011
Posts: 11
Ok,wegen der Geschwindigkeit mag ich Dir ja recht geben.
Aber ich denke es kommt auch darauf an, wo und wie man so etwas einsetzt.
Meine Liste ist eben nur gedacht,für schnell mal an den ein oder anderen Pointer zu gelangen.

Gruß
Nighthawk


A8 pro

Re: Kleine dll mit nützlichen Funktionen! [Re: Nighthawk] #381738
08/31/11 11:57
08/31/11 11:57
Joined: Apr 2007
Posts: 3,751
Canada
WretchedSid Offline
Expert
WretchedSid  Offline
Expert

Joined: Apr 2007
Posts: 3,751
Canada
Originally Posted By: Nighthawk
Ok,wegen der Geschwindigkeit mag ich Dir ja recht geben.



Originally Posted By: Nighthawk
Meine Liste ist eben nur gedacht,für schnell mal an den ein oder anderen Pointer zu gelangen.

Widersprichst du dir da nicht? =/


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com
Re: Kleine dll mit nützlichen Funktionen! [Re: WretchedSid] #381751
08/31/11 13:18
08/31/11 13:18
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Hmn, das du \n forced find ich eher doof D:

Re: Kleine dll mit nützlichen Funktionen! [Re: Rei_Ayanami] #381758
08/31/11 14:08
08/31/11 14:08
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Rei_Ayanami Offline
Expert
Rei_Ayanami  Offline
Expert

Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
Und ich weiß nicht warum, aber an einer Stelle wo ich WriteToConsole mehrmals nacheinander aufrufe stürzt es einfach ab D:

Page 2 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1