Changes between Version 1 and Version 5 of Ticket #24500
- Timestamp:
- 01/30/18 13:57:01 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #24500
-
Property
Status
changed from
new
toneeds_review
-
Property
Authors
changed from
to
Jeroen Demeyer
-
Property
Component
changed from
performance
tocoercion
-
Property
Summary
changed from
Optimize Action.__call__
toImplement action using _act_ instead of _call_
-
Property
Dependencies
changed from
to
#5574
-
Property
Branch
changed from
to
u/jdemeyer/optimize_action___call__
-
Property
Commit
changed from
to
f2b676ef4e7b13eb4e14f117d39afb8b06ebdc03
-
Property
Status
changed from
-
Ticket #24500 – Description
v1 v5 1 W ork on #24247 shows that a significant amount of time is spent in `Action.__call__`. This should be optimized.1 We change the internal API of `Action`: instead of a `_call_` method, we implement an `_act_` method which always take `(g, x)` as arguments, where `g` is the acting element and `x` is the acted-on element. 2 2 3 We should also consider whether the current `_call_` API is optimal: maybe an `_act_(g, s)` method where `g` always acts on `s` would be better because now every `_call_` method has to figure out whether it's a left or right action.3 The current implementation using `_call_` takes a left and right argument. This is less efficient because many actions can be left or right actions. This means that every `_call_` method needs to "decode" its arguments as `g` and `x`. 4 4 5 W hatever we do, we should document things as currently there is no documentation of`Action`.5 Work on #24247 shows that a significant amount of time is spent in `Action.__call__`. This ticket optimizes that quite a bit. It also adds documentation to `Action`.