Branch: refs/heads/master
Home: https://github.com/synfig/synfig
Commit: 7306cdbca45a409e0c02e72db817f4fadf341bcb
https://github.com/synfig/synfig/commit/7306cdbca45a409e0c02e72db817f4fadf341bcb
Author: ice0 <[email protected]>
Date: 2022-10-10 (Mon, 10 Oct 2022)
Changed paths:
M synfig-core/src/modules/mod_noise/valuenode_random.cpp
M synfig-core/src/synfig/valuenode.cpp
M synfig-core/src/synfig/valuenode.h
M synfig-core/src/synfig/valuenodes/valuenode_add.cpp
M synfig-core/src/synfig/valuenodes/valuenode_and.cpp
M synfig-core/src/synfig/valuenodes/valuenode_anglestring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_animatedfile.cpp
M synfig-core/src/synfig/valuenodes/valuenode_atan2.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinecalcvertex.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinecalcwidth.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.cpp
M synfig-core/src/synfig/valuenodes/valuenode_bone.cpp
M synfig-core/src/synfig/valuenodes/valuenode_bonelink.cpp
M synfig-core/src/synfig/valuenodes/valuenode_compare.cpp
M synfig-core/src/synfig/valuenodes/valuenode_composite.cpp
M synfig-core/src/synfig/valuenodes/valuenode_cos.cpp
M synfig-core/src/synfig/valuenodes/valuenode_derivative.cpp
M synfig-core/src/synfig/valuenodes/valuenode_dotproduct.cpp
M synfig-core/src/synfig/valuenodes/valuenode_duplicate.cpp
M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp
M synfig-core/src/synfig/valuenodes/valuenode_exp.cpp
M synfig-core/src/synfig/valuenodes/valuenode_gradientcolor.cpp
M synfig-core/src/synfig/valuenodes/valuenode_gradientrotate.cpp
M synfig-core/src/synfig/valuenodes/valuenode_greyed.cpp
M synfig-core/src/synfig/valuenodes/valuenode_integer.cpp
M synfig-core/src/synfig/valuenodes/valuenode_intstring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_join.cpp
M synfig-core/src/synfig/valuenodes/valuenode_linear.cpp
M synfig-core/src/synfig/valuenodes/valuenode_log.cpp
M synfig-core/src/synfig/valuenodes/valuenode_modulo.cpp
M synfig-core/src/synfig/valuenodes/valuenode_not.cpp
M synfig-core/src/synfig/valuenodes/valuenode_or.cpp
M synfig-core/src/synfig/valuenodes/valuenode_pow.cpp
M synfig-core/src/synfig/valuenodes/valuenode_radialcomposite.cpp
M synfig-core/src/synfig/valuenodes/valuenode_range.cpp
M synfig-core/src/synfig/valuenodes/valuenode_real.cpp
M synfig-core/src/synfig/valuenodes/valuenode_realstring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_reciprocal.cpp
M synfig-core/src/synfig/valuenodes/valuenode_reference.cpp
M synfig-core/src/synfig/valuenodes/valuenode_repeat_gradient.cpp
M synfig-core/src/synfig/valuenodes/valuenode_reverse.cpp
M synfig-core/src/synfig/valuenodes/valuenode_scale.cpp
M synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.cpp
M synfig-core/src/synfig/valuenodes/valuenode_segcalcvertex.cpp
M synfig-core/src/synfig/valuenodes/valuenode_sine.cpp
M synfig-core/src/synfig/valuenodes/valuenode_step.cpp
M synfig-core/src/synfig/valuenodes/valuenode_stripes.cpp
M synfig-core/src/synfig/valuenodes/valuenode_subtract.cpp
M synfig-core/src/synfig/valuenodes/valuenode_switch.cpp
M synfig-core/src/synfig/valuenodes/valuenode_timedswap.cpp
M synfig-core/src/synfig/valuenodes/valuenode_timeloop.cpp
M synfig-core/src/synfig/valuenodes/valuenode_timestring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_twotone.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectorangle.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectorlength.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectorx.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectory.cpp
Log Message:
-----------
refactor: vocabulary initialization moved to `init_children_vocab` method
Just to make sure it's not being used somewhere.
I added a test flag (already removed here) to see if
`get_children_vocab` can be used to fill a dictionary
after it has already been initialized. This test is never fired.
This is done because `get_children_vocab()` always copies data,
even when you just want to read it, so the splitting logic allows
us to reduce memory copying in the future.
Commit: 2dfdbd40ed01c4ce8ff2e4db723679253b3c1f5f
https://github.com/synfig/synfig/commit/2dfdbd40ed01c4ce8ff2e4db723679253b3c1f5f
Author: ice0 <[email protected]>
Date: 2022-10-10 (Mon, 10 Oct 2022)
Changed paths:
M synfig-core/src/synfig/valuenode.cpp
M synfig-core/src/synfig/valuenode.h
M synfig-studio/src/gui/instance.cpp
M synfig-studio/src/gui/trees/canvastreestore.cpp
M synfig-studio/src/synfigapp/actions/valuedesclink.cpp
M synfig-studio/src/synfigapp/instance.cpp
Log Message:
-----------
perf: improved performance by reducing memory copying when working with
valuenodes
Linux unoptimized (994622b)
```
./synfig -o pirates.png -t null 3,54s user 0,35s system 110% cpu 3,538 total
./synfig -o pirates.png -t null 3,56s user 0,24s system 109% cpu 3,482 total
./synfig -o pirates.png -t null 3,49s user 0,35s system 110% cpu 3,481 total
```
Avg: 3500 ms
Linux optimized
```
./synfig -o pirates.png -t null 2,94s user 0,32s system 110% cpu 2,948 total
./synfig -o pirates.png -t null 2,98s user 0,31s system 112% cpu 2,931 total
./synfig -o pirates.png -t null 2,96s user 0,37s system 112% cpu 2,954 total
```
Avg: 2 944 ms. Improvement: **+18,8%**
macOS unoptimized (994622b)
```
./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 108%
cpu 2,640 total
./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,30s system 108%
cpu 2,640 total
./synfig synfig-core/examples/pirates.sif -o - 2,58s user 0,30s system 108%
cpu 2,649 total
```
Avg: 2 643 ms
macOS optimized
```
./synfig synfig-core/examples/pirates.sif -o - 2,03s user 0,31s system 111%
cpu 2,100 total
./synfig synfig-core/examples/pirates.sif -o - 2,03s user 0,31s system 111%
cpu 2,103 total
./synfig synfig-core/examples/pirates.sif -o - 2,03s user 0,31s system 111%
cpu 2,102 total
```
Avg: 2 102 ms. Improvement: **+25,7%**
Windows unoptimized (994622b)
```
Execution time: 5.983 s
Execution time: 5.939 s
Execution time: 5.927 s
```
Avg: 5949
Windows optimized
```
Execution time: 4.694 s
Execution time: 4.697 s
Execution time: 4.696 s
```
Avg: 4 696 ms Improvement: **+26,6%**
Commit: f8e4f299b3ac64ea2edc1bc40364943b965e9ab9
https://github.com/synfig/synfig/commit/f8e4f299b3ac64ea2edc1bc40364943b965e9ab9
Author: ice0 <[email protected]>
Date: 2022-10-10 (Mon, 10 Oct 2022)
Changed paths:
M synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp
M synfig-core/src/synfig/valuenodes/valuenode_staticlist.cpp
Log Message:
-----------
refactor: added vocab update for list valuenodes
List valuenodes should update they vocabulary
after adding/removing list items.
Commit: 6ae600b7e530e74aaec377336b9d9a824371a49a
https://github.com/synfig/synfig/commit/6ae600b7e530e74aaec377336b9d9a824371a49a
Author: ice0 <[email protected]>
Date: 2022-10-10 (Mon, 10 Oct 2022)
Changed paths:
M synfig-core/src/modules/mod_noise/valuenode_random.cpp
M synfig-core/src/synfig/valuenode.cpp
M synfig-core/src/synfig/valuenode.h
M synfig-core/src/synfig/valuenodes/valuenode_add.cpp
M synfig-core/src/synfig/valuenodes/valuenode_and.cpp
M synfig-core/src/synfig/valuenodes/valuenode_anglestring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_animatedfile.cpp
M synfig-core/src/synfig/valuenodes/valuenode_atan2.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinecalcvertex.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinecalcwidth.cpp
M synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.cpp
M synfig-core/src/synfig/valuenodes/valuenode_bone.cpp
M synfig-core/src/synfig/valuenodes/valuenode_bonelink.cpp
M synfig-core/src/synfig/valuenodes/valuenode_compare.cpp
M synfig-core/src/synfig/valuenodes/valuenode_composite.cpp
M synfig-core/src/synfig/valuenodes/valuenode_cos.cpp
M synfig-core/src/synfig/valuenodes/valuenode_derivative.cpp
M synfig-core/src/synfig/valuenodes/valuenode_dotproduct.cpp
M synfig-core/src/synfig/valuenodes/valuenode_duplicate.cpp
M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp
M synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp
M synfig-core/src/synfig/valuenodes/valuenode_exp.cpp
M synfig-core/src/synfig/valuenodes/valuenode_gradientcolor.cpp
M synfig-core/src/synfig/valuenodes/valuenode_gradientrotate.cpp
M synfig-core/src/synfig/valuenodes/valuenode_greyed.cpp
M synfig-core/src/synfig/valuenodes/valuenode_integer.cpp
M synfig-core/src/synfig/valuenodes/valuenode_intstring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_join.cpp
M synfig-core/src/synfig/valuenodes/valuenode_linear.cpp
M synfig-core/src/synfig/valuenodes/valuenode_log.cpp
M synfig-core/src/synfig/valuenodes/valuenode_modulo.cpp
M synfig-core/src/synfig/valuenodes/valuenode_not.cpp
M synfig-core/src/synfig/valuenodes/valuenode_or.cpp
M synfig-core/src/synfig/valuenodes/valuenode_pow.cpp
M synfig-core/src/synfig/valuenodes/valuenode_radialcomposite.cpp
M synfig-core/src/synfig/valuenodes/valuenode_range.cpp
M synfig-core/src/synfig/valuenodes/valuenode_real.cpp
M synfig-core/src/synfig/valuenodes/valuenode_realstring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_reciprocal.cpp
M synfig-core/src/synfig/valuenodes/valuenode_reference.cpp
M synfig-core/src/synfig/valuenodes/valuenode_repeat_gradient.cpp
M synfig-core/src/synfig/valuenodes/valuenode_reverse.cpp
M synfig-core/src/synfig/valuenodes/valuenode_scale.cpp
M synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.cpp
M synfig-core/src/synfig/valuenodes/valuenode_segcalcvertex.cpp
M synfig-core/src/synfig/valuenodes/valuenode_sine.cpp
M synfig-core/src/synfig/valuenodes/valuenode_staticlist.cpp
M synfig-core/src/synfig/valuenodes/valuenode_step.cpp
M synfig-core/src/synfig/valuenodes/valuenode_stripes.cpp
M synfig-core/src/synfig/valuenodes/valuenode_subtract.cpp
M synfig-core/src/synfig/valuenodes/valuenode_switch.cpp
M synfig-core/src/synfig/valuenodes/valuenode_timedswap.cpp
M synfig-core/src/synfig/valuenodes/valuenode_timeloop.cpp
M synfig-core/src/synfig/valuenodes/valuenode_timestring.cpp
M synfig-core/src/synfig/valuenodes/valuenode_twotone.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectorangle.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectorlength.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectorx.cpp
M synfig-core/src/synfig/valuenodes/valuenode_vectory.cpp
M synfig-studio/src/gui/instance.cpp
M synfig-studio/src/gui/trees/canvastreestore.cpp
M synfig-studio/src/synfigapp/actions/valuedesclink.cpp
M synfig-studio/src/synfigapp/instance.cpp
Log Message:
-----------
perf: improved performance by reducing memory copying when working with
valuenodes (#2831)
perf: improved performance by reducing memory copying when working with
valuenodes
Compare: https://github.com/synfig/synfig/compare/a747d1cdf902...6ae600b7e530
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl