Rebecca Breu wrote:
Check the attachment out. :)

It contains an implementation of

  * get_width
  * decode_one
  * decode_one_right

in utable.py (as in urwid version 0.9.7.1).

It seems to work fine with test_urwid and the example programs, but I din't
test it very thouroughly.

I started on util.py as well, but I haven't had time to finish it yet.


Here are my bench_1 results (different computer this time):
0.9.7.1:
  Minimum: 9.588382

0.9.7.1 with cutable:
  Minimum: 7.828077
  ~ 22% improvement


development version with my patch:
  Minimum: 3.201065

development version with my patch and cutable:
  Minimum: 3.070312
  ~ 4% improvement

But that's with my patch that avoids calling get_width and decode_one when a SAFE_ASCII regular expression of "safe" characters matches the string.


development version without SAFE_ASCII_RE:
  Minimum: 8.828370

development version without SAFE_ASCII_RE, with cutable:
  Minimum: 7.279629
  ~ 21% improvement


I think that if we have a C version of util.calc_width we could have speed like the development version with SAFE_ASCII_RE but for *all* unicode strings.

Rebecca: Since it's just a few of the functions in util.py that need to be rewritten in C feel free to move those functions to utable.c if that's easier.

Ian


_______________________________________________
Urwid mailing list
[email protected]
http://lists.excess.org/mailman/listinfo/urwid

Reply via email to