K
KeDaiv
Hallo, ich bin gerade dabei eine Liste in C zu implementieren. Hier mal kurz die Dateien, damit ihr mal ein Bild davon bekommt.
klist.h
mem_check.h
klist.c
Das sind zur Zeit meine 3 Dateien. Die eine nutze ich, um Speciherlecks zu vermeiden. Wenn ich die Liste dann fertig habe, wird diese natürlich entfernt.
Nun aber zu meinem kleinen aber feinen Problem. Wie ihr seht, möchte ich die Liste ja sortieren. Und das klappt auch schon recht gut mit mergesort. Aber um es speziell für manny Core CPU's zu beschleunigen, habe ich mir überlegt, den "Teile" - Schritt in Threads auszulagern. Das wäre so meine Idee. Jedoch weiß ich nicht so genau, ob das Punkte bringen würde und wie ich das genau realisieren soll, weiß ich auch noch nicht. Das nächste Problem besteht in der Rekursionstiefe. Ich habe ja eine unbestimmte Anzahl von Elementen in der Liste und da kann es auch passieren, dass der Stack durch die Rekursion irgendwann voll ist und dann habe ich ja ein Problem. Wie könnte man dieses Problem umgehen, oder behandeln geschweige denn bemerken? Und ebend hatte ich noch eine Frage im Kopf rum schwirren... Aber vlt fällt mir die ja noch wieder ein! ^^
Ich danke euch schon mal für eure Hilfe.
KeDaiv
klist.h
mem_check.h
klist.c
Das sind zur Zeit meine 3 Dateien. Die eine nutze ich, um Speciherlecks zu vermeiden. Wenn ich die Liste dann fertig habe, wird diese natürlich entfernt.
Nun aber zu meinem kleinen aber feinen Problem. Wie ihr seht, möchte ich die Liste ja sortieren. Und das klappt auch schon recht gut mit mergesort. Aber um es speziell für manny Core CPU's zu beschleunigen, habe ich mir überlegt, den "Teile" - Schritt in Threads auszulagern. Das wäre so meine Idee. Jedoch weiß ich nicht so genau, ob das Punkte bringen würde und wie ich das genau realisieren soll, weiß ich auch noch nicht. Das nächste Problem besteht in der Rekursionstiefe. Ich habe ja eine unbestimmte Anzahl von Elementen in der Liste und da kann es auch passieren, dass der Stack durch die Rekursion irgendwann voll ist und dann habe ich ja ein Problem. Wie könnte man dieses Problem umgehen, oder behandeln geschweige denn bemerken? Und ebend hatte ich noch eine Frage im Kopf rum schwirren... Aber vlt fällt mir die ja noch wieder ein! ^^
Ich danke euch schon mal für eure Hilfe.
KeDaiv