Re: performance issues

From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Fri Jul 26 2002 - 10:12:40 EDT

  • Next message: Tomas Frydrych: "commit head: bidi related performance fix in fl_BlockLayout::_doInsertTextSpan()"

    Hi guys,

    > > So we're creating a run each time fribidi type of a
    > > character changes. English chars and spaces don't
    > > have the same fribidi type, so at this point we're
    > > splitting several runs.

    <snip/>

    > iPrevType = iType;
    > iType = fribidi_get_type((FriBidiChar)pSpan[i]);
    > if(iType != iPrevType)
    > break;
    >
    > into something correct that don't breaks spans on ltr text upon a
    > space?
    > Maybe should be ignore neutral characters and separators in the
    > comparison?

    It is the very intention of this code to split runs on neutral
    characters; that is not a bug. The issue here is that the directional
    properties of neutral characters are dictated by their context, a
    space, for instance, can behave both as an ltr and rtl character,
    depending on what preceeds it and follows it.

    The code in question took the way of easiest resistance, which I did
    not appreaciate would be so costly; I can think of a way to
    substantially optimize it and will do so over the weekend.

    Tomas



    This archive was generated by hypermail 2.1.4 : Fri Jul 26 2002 - 10:21:44 EDT