| delorie.com/archives/browse.cgi | search |
| From: | "Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be> |
| To: | <djgpp-workers AT delorie DOT com> |
| Subject: | Re: ehhanced realloc test program |
| Date: | Fri, 25 May 2001 17:57:03 +0200 |
| Message-ID: | <CAEGKOHJKAAFPKOCLHDIIEKCCDAA.tim.van.holder@pandora.be> |
| MIME-Version: | 1.0 |
| X-Priority: | 3 (Normal) |
| X-MSMail-Priority: | Normal |
| X-Mailer: | Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) |
| In-Reply-To: | <3B0D2240.25662.FBD929@localhost> |
| X-MimeOLE: | Produced By Microsoft MimeOLE V5.50.4133.2400 |
| Importance: | Normal |
| Reply-To: | djgpp-workers AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp-workers AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
> What I have isn't in final form yet but it works. > > [snip] I added this to a copy of CVS malloc.c (renaming realloc to new_realloc) and linked this file with an adjusted version of your previous test program (with both reallocs tested after eachother). Even with a high increment count (256), not a single tick passed during the entire loop (while the old realloc's loop took 5610 ticks). Pretty darn impressive. (this sentence's previous incarnation was presumably blocked by DJ's profanity filter :-) ) According to gprof, the speed culprit is __dj_movedata(), which makes sense, since the old realloc was essentially copying everything over. By having the test realloc two seperate pointers in parallel, I was able to get new_realloc to register on the clock (but no more than 5 ticks, apparently caused by calls to __brk).
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |