[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Release plans

From: Thomas Lord
Subject: Re: Release plans
Date: Fri, 29 Aug 2008 16:24:03 -0700
User-agent: Thunderbird (X11/20060808)

Lennart Borgman (gmail) wrote:

It looks to me like the buffer string routines Thomas is working on
could perhaps make that easier to implement (in the DLL case of course).
But I guess you have thought much more about that, Thomas?

Not deeply (because I'm confident on general principles).

Using functional strings that, behind the scenes, share state
and use mutation rather than copy/alter when they can -- that
pattern -- generally simplifies higher-level coroutine coding.
Beyond that I haven't worried about it and am instead fretting
over getting just the basics working, first.

A fun problem that I found a solution for and am currently
coding is the fragmentation problem.   The splay-tree-of-gap-buffers
allows strings to be arbitrarily fragmented.    However, low-level
I/O systems (e.g., DMA, L2 and L1 caches) like the fragments
to be various minimum sizes (cache lines, pages, etc.).   A fun
set of tricks to think about is how to manage the splay-tree-of-gap-buffers
such that the majority of string/buffer data winds up being in
roughly page-sized chunks, to minimize the amount of data-copying
needed and to maximize the effectiveness of caches.

It's a fun puzzle.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]