Merge lp:~kamstrup/dee/less-gtype-dancing into lp:~kamstrup/dee/more-benchmarks
Status: | Superseded |
---|---|
Proposed branch: | lp:~kamstrup/dee/less-gtype-dancing |
Merge into: | lp:~kamstrup/dee/more-benchmarks |
Diff against target: |
302 lines (+83/-34) 7 files modified
src/dee-model.c (+6/-13) src/dee-model.h (+4/-1) src/dee-sequence-model.c (+37/-15) src/dee-serializable-model.c (+28/-3) vapi/Dee-1.0-custom.vala (+6/-0) vapi/Dee-1.0.metadata (+1/-1) vapi/dee-1.0.vapi (+1/-1) |
To merge this branch: | bzr merge lp:~kamstrup/dee/less-gtype-dancing |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michal Hruby (community) | Needs Fixing | ||
Mikkel Kamstrup Erlandsen | Pending | ||
Review via email:
|
This proposal has been superseded by a proposal from 2012-02-21.
Description of the change
A series of optimizations for DeeSequenceModel. Notably benchmarks report improvements:
append+prepend: ~10%
sorted: ~5%
read_string: ~25%
read_row: ~50%
clear: ~10%
walk_next: ~50%
walk_pos: ~15%
FilterModel.
Probably many small gains here and there.
Unmerged revisions
- 353. By Mikkel Kamstrup Erlandsen
-
Really fix the vapi. Honestly!
- 352. By Mikkel Kamstrup Erlandsen
-
Fix vapi for model.get_row()
- 351. By Mikkel Kamstrup Erlandsen
-
Merge in the recent benchmark additions in trunk
- 350. By Mikkel Kamstrup Erlandsen
-
Optimize DeeSerializable
Model.clear( ) default impl. by doing less vfunc calls. We don't have a benchmark yet, but I guesstimate a 5-10% improvement based on similar optimizations. - 349. By Mikkel Kamstrup Erlandsen
-
Avoid some expensive checks in DeeSequenceModel. This improves the walk_next benchmark almost 100% and the read_string() benchmark about 25%.
- 348. By Mikkel Kamstrup Erlandsen
-
Make get_row() a virtual method on the DeeModel interface eating one of the padding slots (and provide a default impl in DeeSerializable
Model). Add an optimized get_row() method to DeeSequenceModel. There is unfortunately no becnhmark covering this - an estimate based on experience would be around a 5-10% speed increase (depending on the number of columns in the model) - 347. By Mikkel Kamstrup Erlandsen
-
sequencemodel: Move some redundant checks out from internal functions to public call sites. This gives a 5-10% speed increase on inserts/
append/ prepend measured in the benchmarks
I am not entirely sure what the impact of this is...
269 - [CCode (array_length = false, array_null_ terminated = true)]
270 - public GLib.Variant[] get_row (Dee.ModelIter iter, [CCode (array_length = false)] out GLib.Variant[] out_row_members = null);
271 + [NoWrapper]
272 + public abstract GLib.Variant get_row (Dee.ModelIter iter, GLib.Variant out_row_members = null);