Re: Piece Table with O(log(n)) operations

From: Martin Sevior (msevior@physics.unimelb.edu.au)
Date: Mon Jan 06 2003 - 17:47:33 EST

  • Next message: Joaquin Cuenca Abela: "RE : Piece Table with O(log(n)) operations"

    On Sat, 4 Jan 2003, Joaquin Cuenca Abela wrote:

    > I've find a way to get O(log(n)) as the worst case with any operation on
    > the piece table.
    > I've put a description in
    > http://e98cuenc.free.fr/wordprocessor/piecetable.html
    >
    > The main affected class will be pf_Fragments. In the web page (still
    > not finished) I discuss all the gory details.
    >

    This is a extremely interesting Joaquin and is very, very cool :-)

    I start to see peicetable performance issues when dealling with documents
    of about 100 pages or larger right now. Particularly when typing or
    deleting. You new code would certainly fix those!

    I haven't looked through your code yet but I assume you rewritten the
    setNext()/getNext()/setPrev()/getPrev()/getPos() methods in the
    piecetable? Right?

    Does the piecetable still logically look like a doubly linked list? Have
    you done tests with some of the more complex structures in the piecetable,
    like tables?

    In addition I just recently introduced footnote fragments which are
    actually embedded in blocks. These still don't work correctly yet.
    However when they do I'd like to see how hard it would be to merge these
    nto your code.

    Can I continue to think of the piecetable as a doubly linked list
    logically?

    However I think the most pressing perfomance issue we currently have and
    would most like fixed before 2.0 is the problem of slow start-up on XFT
    builds on systems with lots of fonts. Is this something you're interested
    in fixing?

    Maybe we should look at what gtk 2.2 (with XFT built-in) does to make
    fonts avaialble and just use that. I haven't lookedat what gtk 2.2 does
    though.

    Cheers

    Martin



    This archive was generated by hypermail 2.1.4 : Mon Jan 06 2003 - 17:51:34 EST