Branch: refs/heads/master
Home: https://github.com/synfig/synfig
Commit: e23b229208f2cc9e8b37c46857eeaf629b4d8e1a
https://github.com/synfig/synfig/commit/e23b229208f2cc9e8b37c46857eeaf629b4d8e1a
Author: ice0 <[email protected]>
Date: 2022-09-13 (Tue, 13 Sep 2022)
Changed paths:
M synfig-core/src/synfig/bone.cpp
M synfig-core/src/synfig/canvas.cpp
M synfig-core/src/synfig/general.h
M synfig-core/src/synfig/layer.cpp
M synfig-core/src/synfig/layers/layer_skeleton.cpp
M synfig-core/src/synfig/loadcanvas.cpp
M synfig-core/src/synfig/node.cpp
M synfig-core/src/synfig/savecanvas.cpp
M synfig-core/src/synfig/transform.cpp
M synfig-core/src/synfig/valuenode.cpp
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_animatedinterface.cpp
M synfig-core/src/synfig/valuenodes/valuenode_atan2.cpp
M synfig-core/src/synfig/valuenodes/valuenode_average.cpp
M synfig-core/src/synfig/valuenodes/valuenode_bline.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_boneinfluence.cpp
M synfig-core/src/synfig/valuenodes/valuenode_bonelink.cpp
M synfig-core/src/synfig/valuenodes/valuenode_boneweightpair.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_const.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_dilist.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_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-core/src/synfig/valuenodes/valuenode_weightedaverage.cpp
M synfig-core/src/synfig/valuenodes/valuenode_wplist.cpp
M synfig-studio/src/gui/canvasview.cpp
M synfig-studio/src/gui/cellrenderer/cellrenderer_time.cpp
M synfig-studio/src/gui/cellrenderer/cellrenderer_value.cpp
M synfig-studio/src/gui/dialogs/dialog_gradient.cpp
M synfig-studio/src/gui/docks/dockdialog.cpp
M synfig-studio/src/gui/duckmatic.cpp
M synfig-studio/src/gui/instance.cpp
M synfig-studio/src/gui/trees/historytreestore.cpp
M synfig-studio/src/gui/trees/keyframetree.cpp
M synfig-studio/src/gui/trees/keyframetreestore.cpp
M synfig-studio/src/gui/trees/layergrouptree.cpp
M synfig-studio/src/gui/trees/layergrouptreestore.cpp
M synfig-studio/src/gui/trees/layerparamtreestore.cpp
M synfig-studio/src/gui/trees/layertree.cpp
M synfig-studio/src/gui/trees/layertreestore.cpp
M synfig-studio/src/gui/trees/metadatatreestore.cpp
M synfig-studio/src/gui/workarea.cpp
M synfig-studio/src/synfigapp/action.cpp
M synfig-studio/src/synfigapp/action_system.cpp
M synfig-studio/src/synfigapp/canvasinterface.cpp
M synfig-studio/src/synfigapp/instance.cpp
Log Message:
-----------
getenv is very slow on Windows, so I replaced most of the logging calls with
a macro that is disabled by default. (#2826)
getenv is very slow on Windows, so I replaced most of the logging calls with a
macro that is disabled by default.
Benchmark test (used a null target to exclude rendering impact):
```
./synfig synfig-core/examples/pirates.sif -o pirates.png -t null
```
All benchmarks made on Release builds.
Windows (MSVC) before:
```
Execution time: 28.352 s
Execution time: 28.345 s
Execution time: 28.391 s
```
Avg: 28362 ms
Windows (MSVC) after:
```
Execution time: 6.140 s
Execution time: 6.341 s
Execution time: 6.201 s
```
Avg: 6227 ms
Improvement: **4.55x faster** (455%)
Windows (MinGW) before:
```
real 0m19.757s
real 0m18.605s
real 0m18.697s
```
Avg: 19019 ms
Windows (MinGW) after:
```
real 0m6.842s
real 0m6.816s
real 0m6.772s
```
Avg: 6810 ms
Improvement: **2,79x faster** (279%)
Linux before:
```
./synfig -o pirates.png -t null 3,72s user 0,39s system 109% cpu 3,756 total
./synfig -o pirates.png -t null 3,83s user 0,37s system 109% cpu 3,834 total
./synfig -o pirates.png -t null 3,71s user 0,42s system 109% cpu 3,778 total
```
Average: 3789 ms
Linux after:
```
./synfig -o pirates.png -t null 3,62s user 0,38s system 111% cpu 3,583 total
./synfig -o pirates.png -t null 3,50s user 0,40s system 110% cpu 3,523 total
./synfig -o pirates.png -t null 3,52s user 0,39s system 108% cpu 3,593 total
```
Average: 3566 ms
Improvement: 0,06x (6%)
macOS before:
```
./synfig synfig-core/examples/pirates.sif -o - 2,85s user 0,31s system 108%
cpu 2,928 total
./synfig synfig-core/examples/pirates.sif -o - 2,84s user 0,32s system 108%
cpu 2,911 total
./synfig synfig-core/examples/pirates.sif -o - 2,83s user 0,31s system 108%
cpu 2,898 total
```
Average: 2912 ms
macOS after:
```
./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 108%
cpu 2,642 total
./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 109%
cpu 2,642 total
./synfig synfig-core/examples/pirates.sif -o - 2,57s user 0,31s system 108%
cpu 2,641 total
```
Average: 2642 ms
Improvement: 0,1x (10%)
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl