Date: Sat, 6 May 2000 17:31:35 -0400 (EDT) Message-Id: <200005062131.RAA07152@indy.delorie.com> From: Eli Zaretskii To: djgpp-workers AT delorie DOT com In-reply-to: <3913E7CE.14467.E8926@localhost> (snowball3@bigfoot.com) Subject: Re: Perfomance of gc-simple References: <3913E7CE DOT 14467 DOT E8926 AT localhost> 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 Precedence: bulk > From: "Mark E." > Date: Sat, 6 May 2000 09:37:18 -0400 > > > This is not the way to go. Does anyone have any advices how to speed it up? I > > recall Alexandre Oliva starting discussion about making gc-page use simple > > malloc(), what about that? > > If an implementation using malloc() isn't in the offing, it would seem we > either need a mmap or vmalloc implemention Another approach would be to profile the slow GC and see what takes time there. It's possible that nobody worked on it seriously enough because everybody uses the other techniques. > so C++ and the other languages > that are being converted to use GC can work in an acceptable amount of time. Isn't the C compiler affected by this as well? > I know an implementation of mmap that can be shared between other processes > is impossible to implement with DPMI 0.9, but what about when memory is > private to the process like gcc's GC? How does GCC use `mmap', exactly? > vmalloc can certainly be implemented, > but at the cost of wasting space to have the returned pointer aligned to the > page boundary. I don't think you should be worried about wasting space, since `sbrk' allocates memory in chunks of 64KB anyway. However, if alignment is the only difference between `valloc' and `malloc', I don't quite see what's the big difference between them that would explain such a huge run-time penalty. Can someone explain?