Edgewall Software

Changes between Version 9 and Version 10 of GSoC2008


Ignore:
Timestamp:
Jul 30, 2008, 12:51:04 AM (16 years ago)
Author:
mkurczych
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC2008

    v9 v10  
    1111Current XPath implementation in Genshi is rather buggy (for example [http://genshi.edgewall.org/ticket/185]). I've rewritten it. Implemented algorithm works in O(qn) time, where q is length of XPath expression, n is number of stream events and O(qh) memory complexity, where h is height of document XML tree. It computes for every node which places of XPath expression does it match. O(qn) is pessimistic complexity, I think algorithm will work like O(n) in most cases (the worst case is when nearly every node matches to nearly every place of expression, which is quite rare).
    1212
    13 Still need to add some tests covering more situations.
     13Added also other implementations for simpler paths called strategies. Performance of new implementation in comparision with previous one can be checked [wiki:XPath-benchmark here].
    1414
    1515=== Simple pre-rendering ===
     
    5757
    5858== Currently working at: ==
     59=== Alternative way of code compiling ===
     60Instead of using module to compile Abstract Syntax Trees to bytecode translate it to new Python code, and then compile it. This will allow using Python compiler optimizations and will make Genshi work at Google AppEngine.
     61
     62== Planned: ==
    5963=== Template pre-processing ===
    6064 * make py:optimize take argument -- expression that calculates some "digest" of context variables which this fragment depends on; it can be any hashable python object with assumption, that if results are the same, then the