vcswatch reports that
this package seems to have new commits in its VCS but has
not yet updated debian/changelog. You should consider updating
the Debian changelog and uploading this new version into the archive.
Here are the relevant commit logs:
commit 6b38b4e695ea0746f753dd2f0e4e7fb5ed10cd3d
Author: Gábor Németh <homar@riseup.net>
Date: Tue Apr 8 08:46:22 2025 +0200
Standards-Version
commit 460b87a909714124fc50d40a60116c8a42636595
Author: Gábor Németh <homar@riseup.net>
Date: Tue Apr 8 08:44:32 2025 +0200
Copyright year
commit 1f4968aef1a963c797ba34a6e0fd169fdc2c7035
Author: Gábor Németh <homar@riseup.net>
Date: Wed Mar 26 17:41:59 2025 +0100
Add forward tags to patches
commit 02c383f0acf4843e0036aab4ffac2e73921a9d99
Author: Gábor Németh <homar@riseup.net>
Date: Fri Aug 30 13:27:35 2024 +0200
Only care for (PNG) test results on Debian/amd64
as this is what upstream uses for pixel-wise comparison. This reverts Luma difference
allowed in 6acf61fd.
commit cff51bcb809269160c5a882cc86dc08b0e1d84e8
Author: Gábor Németh <homar@riseup.net>
Date: Fri Aug 30 13:01:27 2024 +0200
Find duplicates with jdupes
instead of hard-coded filenames as turned up by lintian.
commit 0469e355aa43268f531fc7c26cb8232249008a7e
Author: Gábor Németh <homar@riseup.net>
Date: Mon Aug 26 08:33:36 2024 +0200
Adapt arm32 workaround for tests too
commit 33f12bd66521dd21b7d63f522ac7e754c8826331
Author: Gábor Németh <homar@riseup.net>
Date: Thu Aug 15 07:29:19 2024 +0200
Honor some debuild flags
commit 8cc1f84e6e3e357bda7935c5a1fea9c97be66081
Author: Gábor Németh <homar@riseup.net>
Date: Wed Aug 14 10:32:34 2024 +0200
Dance around GCC oddity in arm32 builds
commit eae456c5cbe5c56b9d4485a3994c718ca2249cfc
Author: Gábor Németh <homar@riseup.net>
Date: Sun Jul 28 18:07:28 2024 +0200
Fix looong test runs in absence of LibreOffice
commit 7f90a70403fe52a3237e2c62e36e2c8a48907273
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 17 16:26:35 2024 +0200
Clean Texinfo autogenerated files
found by pbuilder --twice
commit 34afa3ad7eefefc12a3406566ee1d141bce06089
Author: Gábor Németh <homar@riseup.net>
Date: Mon Jul 15 15:32:43 2024 +0200
Fixup copyright notices
- Use appropriate short names
- Fill in missing license info
- Quote full license texts
commit 647ce021fdafb06f7bcc448cc244385c00be9c71
Author: Gábor Németh <homar@riseup.net>
Date: Mon Jul 15 14:53:59 2024 +0200
Linitan overrides
commit da65cf0fb678814b03d379e6ed790edfdf51d22c
Author: Gábor Németh <homar@riseup.net>
Date: Mon Jul 15 14:52:11 2024 +0200
Hardening binaries
commit 2dbb5e1dbe4d714aab4cf4e842297b40d5a5d4ed
Author: Gábor Németh <homar@riseup.net>
Date: Tue Jul 16 16:16:59 2024 +0200
New upstream 8.6.2
commit 6e73003070858838f522672ede83ca933d7fa665
Merge: 718eac1c0 ece6959ca
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 24 09:26:50 2024 +0200
Merge v8.6.2
commit 718eac1c07c8404bd048642a07526d1e7db4ad3a
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 24 09:21:11 2024 +0200
Add comment on use of dpkg-vendor
by Boyuan Yang <byang@debian.org>
commit ece6959ca494e23ff07b74b6ea88b5c78088294f
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 17 13:13:44 2024 +0200
[test] Retry on types of LibreOffice failures
commit 6b13f0d89cf96af06d55d9bb21085fe850c5380f
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 17 08:19:45 2024 +0200
Normalize license file name
commit 8a487c7e0f73527b35ef83e0d559d5360dee9c08
Author: Gábor Németh <homar@riseup.net>
Date: Tue Jul 16 15:15:49 2024 +0200
Fix GV symbol externalization
commit a00c3a3610c700b0d6115d9b1af6f5e9e5847581
Author: Gábor Németh <homar@riseup.net>
Date: Tue Jul 16 15:15:27 2024 +0200
Squash some compiler warnings
commit 6205cc2fc38b1b59c87406555246cfd6e9d43707
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jul 16 12:11:55 2024 +0200
[graph] fix: remove warning
...of redefinition of CGRAPH_API when included from graphchart.cpp (after
including cgraph.h)
commit 8da99f7f71ee95f694c976d3c4b70caeefc72861
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jul 16 09:05:05 2024 +0200
v8.6.2 version bump
commit a211c01eb8470bb5722a457a1d4f57e73ab2c156
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jul 16 08:57:11 2024 +0200
License uplift
- The WildMagic code (solve_degree) was moved from contour_distance.cpp
to contour_edge.cpp over the years. Now we move the associated
copyright text, as well.
- Changing the documentation license from GFDL to (the very similar)
CC BY-SA 4.0 to be debian compliant.
commit 81a2e01e6facbc3fbd9e6a8fd2b14fc3adecd448
Author: Gábor Németh <homar@riseup.net>
Date: Fri Jul 12 14:01:49 2024 +0200
Retry LibreOffice conversions in tests
commit 7e8e485089869b7574b5d460293839244e85e0d6
Author: Gábor Németh <homar@riseup.net>
Date: Fri Jul 12 12:41:57 2024 +0200
Skip test with missing font
commit 9ad94bfbb6caf04a98a568086f99a0890a519b1e
Author: Gábor Németh <homar@riseup.net>
Date: Fri Jul 5 08:56:47 2024 +0200
Fix duplicate file
commit 85cf18ab05af9e0dd9f7a928b7cc242e3496ca01
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 3 08:51:56 2024 +0200
Uplift policy to 4.7.0
commit 6acf61fd873dbace124e58484c278778e0738a15
Author: Gábor Németh <homar@riseup.net>
Date: Mon Mar 25 09:51:24 2024 +0100
[test] Allow Luma diff for non-Debian
Otherwise insignificant off-by-one-pixel failures happened
on eg. Ubuntu 24.04
commit 277f45970e5321c6aeba945affbd0346aacf3453
Author: Gábor Németh <homar@riseup.net>
Date: Tue Mar 5 13:20:30 2024 +0100
[test] Increase nofont mask radius for non-amd64
Lot of tests failed on esp. Arm64 due to one-pixel-off around text characters. The default is still keptt to be in-line with the upstream testing framework.
commit 91254180e82f960215db549fb9255da25a842cbc
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jul 3 08:46:53 2024 +0200
New upstream v8.6.1
commit 497af4cab62c2b39e2e3beefffc78f31b0c8f46d
Merge: 6c9870efb 265d46c0f
Author: Gábor Németh <homar@riseup.net>
Date: Thu Jul 11 13:48:17 2024 +0200
Merge tag 'v8.6.1' into unstable
commit 347260d5339884288e2f26ead112bf62b45b9bb9
Author: Gábor Németh <homar@riseup.net>
Date: Thu Jul 11 12:42:41 2024 +0200
[ci] Fix removing version.txt
commit 265d46c0f4299f04dfc615d22962aa6caf7c733d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Jul 11 09:32:32 2024 +0200
v8.6.1 version bump
commit 9f16918715ebc2008db62c7375ab7085b63577f0
Author: Gábor Németh <homar@riseup.net>
Date: Thu Jul 11 05:51:57 2024 +0000
[ci] Sync for v8.6
commit 863f72ff0e7d2dcdb5d963426d28638c5721487c
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jul 8 16:56:22 2024 +0200
[build] fix: Remove precompiled graphviz for [win]
Now you need to locally install graphviz to compile Msc-generator.
This has always been the case as you needed the header files.
With this patch the compiled binaries are removed.
You can either
- install to src/imported/graphviz; or
- set GV_PATH to where you have installed.
Although Advanced Installer only works from the former.
This patch also prunes the list of libraries linked and correctly sets
__declspec(dllimport) for windows builds on imported graphviz symbols.
commit db66bfe49867d30566617ceb87eb4c2cbe1554f9
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jul 8 16:45:18 2024 +0200
fix: error squiggles at line ends
Previously error squiggles did not show at the line end (or at the file
end). This patch fixes that.
We also sanitized the error collection routine.
commit 006e67319d9827427915f8b1c2d301a2779918d3
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jul 8 13:28:23 2024 +0200
fix: don't crash for --tei-mode without -S
commit d7027776debf8109dbe858f8ab4302489b493d2f
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jul 2 13:25:35 2024 +0200
[build] fixes
- libdbg missing
- unit_tests in correct place
- add contour/unit_tests to CLEANFILES
commit 167c4f76a8ff031355c739d6063ee526c552e17c
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jul 2 12:38:03 2024 +0200
v8.6 doc fixes
commit 182353ff09c9e297fe5d2fffcf6ff6256119f62a
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jun 17 10:58:54 2024 +0200
[block] Added 'tangent' routing to arrow labels.
commit 416d50f45f90f49d7bd7a826bfe6b949fc1c5a8f
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jun 17 09:46:17 2024 +0200
[block] Refactor label orient using EOrientation
Instead of overloading EDirection for label orientation, we introduced
a new enum.
It also has (currently unhandled) cases Tangent and TangentUpsideDown),
which are only valid for Arrows. For this reason we have introduced
EBlockStyleTarget to allow a style to know if it applies to Blocks or
Arrows (or both).
commit 8093fc259c5bf6633c6a06f985f749f0d17180fe
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Jun 7 20:05:19 2024 +0200
[block] Uplift tests to past changes
commit 97be67df1fa077d0272b44121dcf35edbcabc865
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Jun 7 22:16:41 2024 +0200
[block] fix: bounds check & order
commit 3aea71bb9727a5ac31cf614befdf36caef878d7a
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Jun 7 13:18:41 2024 +0200
[block] Added routing.allow_joint_layout
commit ada8be8dbb062c5e7d84b0d9eb8ea43c2a4981e1
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jun 4 17:57:21 2024 +0200
[block] fix: check overlap after de-overlap runs
commit 51753e1d56f5e0b25e0e7eb24d362eb757cc0cc1
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jun 3 20:36:29 2024 +0200
[block] fix: to de-overlap fully overlapped arrows
- Correctly calculate spacing (multiply with deoverlap_distance_factor
only once)
- If only one of two fully overlapped arrows are marked as 'try harder'
we still detect it.
- If fully overlapped arrows go the opposite direction, their path is
appropriately reversed
commit d8145af6b9554496c668109cb0026dc63a305443
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 22:05:47 2024 +0200
[block] Add routing.try_harder to de-overlapping
commit 03c6d64697bf85b473989d271452367208e48386
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Jun 4 20:29:16 2024 +0200
[dbg] Added dbg chart to debug contour
This chart accepts Contour descriptions in one of the two formats:
- The natvis format: you just copy a list of edges to the clipboard
+ [9] {{290.2, 528.521}->{290.2, 500.621} (marked)} contour::Edge
+ [9] {{290.2, 528.521}->{290.2, 500.621} via {290.2, 500.621},
{290.2, 500.621} (invisible) (marked)} contour::Edge
- The output of Dump() calls in contour
//Edge(XY(244.452010, 125.997362), XY(256.167193, 103.138561),
XY(250.454638, 118.711733), XY(254.238430, 111.198503))
//Edge(XY(256.167193, 103.138561), XY(259.571087, 103.953120), true, 1)
- GDB printed Edge lists (too long here to exemplify)
Empty lines delineate contours.
Also we have 'center=' and 'zoom=' settings to allow extreme zoom.
commit 16631c708fabaeb22e903fe5f89b4bf64d6a5701
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Jun 5 09:30:29 2024 +0200
[gui] making config saves atomic
So that we do not loose config during a hard restart.
commit 4cc7c99954075a9b9b46027e72160766a9949bc9
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Jun 5 08:44:01 2024 +0200
[gui] fix: do stop ongoing compilation on a change
commit 84a17e076b73d3f7d7d90e3435ae71b73c6c3393
Author: Zoltán Turányi <teknos@gmail.com>
Date: Sun Jun 9 14:36:55 2024 +0200
[contour] fix: less stringent HullOverlap()
Probably we have ruined some of the performance....
commit 7990de286ef4161bc1c46de4a082e1bc8e2e2062
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Jun 6 12:04:45 2024 +0200
[contour] fix: an assert
commit 6be6730905766e9309d8cac8b2eed6ee40e2dbca
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 17:14:31 2024 +0200
[contour] fix: Angle() fallback for short edges
commit dd59f103905e3c5254fca23c1b4a42578d3dd81d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 15:05:28 2024 +0200
Spelling
commit 91df8382e5ff5d88e77b7a2c810622f44ee79471
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 15:05:18 2024 +0200
[block] fix: pre-calculate vector
Because some of the arrows may not be laid out in later permutations
to get a bearing from.
commit d3fda21a9ba3e27ff79b0490be731c3e415368e0
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 15:02:56 2024 +0200
[block] fix: apply de-overlap factor consistently
commit 9a538dea87c938e628e07b2be3eec9be14587cc2
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 15:02:07 2024 +0200
[block] fix: do not calc distance, it can differ.
commit ab8a916fa476a9508e63a07041219613b6808de1
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 31 08:20:10 2024 +0200
[block] fix: de-overlap 'horizonal' arrows, too
commit 153205fe1c9ae7bc646a3f732298e0e894cad84c
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu May 30 10:56:22 2024 +0200
[block] fix: correct group merge at de-overlap
commit 54651277069b55c4944ce92c96867bacb54297fa
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu May 30 10:55:50 2024 +0200
[block] fix: honour user set offset at de-overlap
commit 33ad192b6d565c4869dae97af1cc8543333e7254
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 29 11:03:55 2024 +0200
Spelling
commit 1e6e2c5d95a1aa6281a3a7ab2d0f7831546f9bf2
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 29 10:41:51 2024 +0200
[block] fix: Consider arrow line width at layout
This is especially important if we merge arrows (going the same path)
during layout de-overlapping, as the merged arrow is really thick.
commit d87275d2f686b3bcfc91420d836c1ef89af23188
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 28 10:44:47 2024 +0200
[block] Lay out parallel arrows as one
When we find that 2 arrows overlap end-to-end, we lay them out as just
one, thicker arrow during de-overlap and use the resulting path for
each. This results in more consistent paths and less work at de-overlap.
commit 3e5ebb42437d3fc1cd8a87777fce2b0c38964d1f
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon May 27 20:08:45 2024 +0200
[block] fix: at de-overlap, block around endings
When we de-overlap and lay out arrows, we not only try avoiding the
arrows already laid out, but also the end segments of those not yet.
This applies only to arrows not yet laid out in the same overlap arrow
end group and also only for arrows with a direction, which have this
end segment.
commit a86b79086922f3f3fea2f7ea91198257cf11ea14
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 24 10:53:06 2024 +0200
[block] Improve de-overlap
Now we try all the permutations in layout and shift order to de-overlap.
commit 7f6e635490b1398ab8de994eac7207b687c0e0fe
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 22 10:14:17 2024 +0200
[block] Update natvis, show arrow/block names
commit 44052c9cc08d4e5daa50e48656c8965048b33026
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 28 19:24:09 2024 +0200
[block] fix: hints for 'via' shall not be selectable
commit 397211c56bc06bbb5f764cd892e378064b38d116
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 29 10:27:12 2024 +0200
Spelling
commit e0f2603f13298cfb1e2e521a27fe79b7677a63e9
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 7 13:20:23 2024 +0200
v8.6 version bump, copyright year, doc update
commit 7eef8a941116596e343f45b1f1ac426e9c3f2ad4
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 15 11:09:45 2024 +0200
[test] 'contours' now prints errors to stderr
All errors printed to stderr (even the success msg of unit tests).
Only generated filenames are printed to stdout.
commit 580f784e6a9739c89527f660c273f8185eee5eb0
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 15 11:10:09 2024 +0200
[test] Added 2 more failing unit tests
commit 207387af32506135809d605ed27959509b3c12af
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 14 13:22:03 2024 +0200
[test] added a failing unit test
commit 2ea662295633637e881eaab6de25f3a779fa2bdc
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 17 16:49:01 2024 +0200
[block] Added routing=grid
commit b9ee52049410934c0e332d65830612c73e7c40ca
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 17 14:19:50 2024 +0200
[block] fix: arrow path eval considers waypoints
If we have a specific direction, we add waypoints at the start/end of
the arrow to enforce starting direction. The short segment from the
block to the waypoint (or rather the turn that happens between this
small segment and the rest of the path) is now considered when
evaluating path candidates. This is especially useful for Manhattan
routing to penalize path alternatives that start perpendicular to the
waypoint segment.
commit 45ebc5d37420d69fcfa5954ba3718824e18d1561
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 17 13:05:00 2024 +0200
[block] More built-in ports to boxes
Now specifying n, s, e, w with a percentage will give you a port along
that edge.
commit f06fbfb1bc27b52d26bdee444fb8141bfa9a48b6
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 17 11:24:52 2024 +0200
[block] fix: hinting at color (re-)definition
commit 7bfe3b1d92a2220c218e6bfe750910fa166adeda
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 17 11:09:33 2024 +0200
[block] fix: CSH and hinting for 'around'
commit 0c73e5efddc5018754bb59c03ec3f6040849a8c0
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri May 17 10:20:26 2024 +0200
[block] Retain labels for 'join' even with fills
commit 146e1151fd5405a773076e7195a9d19b5acc3593
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 14 12:24:29 2024 +0200
[gui] fix: ctrl+delete now works well
commit 24ddc562e9ec4c28bad1207d95a9dde5736d414c
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 8 18:48:32 2024 +0200
Even more opportunity to inline
And voila, another 30% for large cases.
Run on (24 X 2400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x12)
L1 Instruction 32 KiB (x12)
L2 Unified 256 KiB (x12)
L3 Unified 15360 KiB (x2)
Load Average: 7.96, 3.26, 1.94
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 2753 ns 2753 ns 253000
ExpandBoxy/16 33994 ns 33993 ns 20489
ExpandBoxy/256 3229416 ns 3229196 ns 217
ExpandBoxyRotate/1 3377 ns 3377 ns 207884
ExpandBoxyRotate/16 39916 ns 39916 ns 17564
ExpandBoxyRotate/256 3445801 ns 3445642 ns 203
ExpandCurvy/1 26033 ns 26034 ns 26872
ExpandCurvy/16 214250 ns 214241 ns 3269
ExpandCurvy/256 7031848 ns 7031824 ns 100
UnionBoxy/1 6613 ns 6613 ns 105851
UnionBoxy/16 114646 ns 114643 ns 6109
UnionBoxy/256 11785560 ns 11785509 ns 59
UnionBoxyRotate/1 7571 ns 7570 ns 92940
UnionBoxyRotate/16 124104 ns 124104 ns 5636
UnionBoxyRotate/256 12196808 ns 12196435 ns 57
UnionCurvy/1 69618 ns 69618 ns 10059
UnionCurvy/16 866771 ns 866760 ns 807
UnionCurvy/256 49850268 ns 49847025 ns 14
And this concludes our inlining effort. Cumulative improvements:
v8.4->v8.6 v8.5->v8.6
ExpandBoxy/1 24.51% 9.56%
ExpandBoxy/16 61.97% 39.04%
ExpandBoxy/256 79.08% 59.00%
ExpandBoxyRotate/1 19.86% 7.00%
ExpandBoxyRotate/16 58.34% 36.21%
ExpandBoxyRotate/256 78.21% 58.54%
ExpandCurvy/1 10.42% 1.84%
ExpandCurvy/16 13.70% 4.49%
ExpandCurvy/256 38.32% 16.67%
UnionBoxy/1 0.48% 7.52%
UnionBoxy/16 52.92% 26.95%
UnionBoxy/256 87.18% 45.65%
UnionBoxyRotate/1 0.51% 4.09%
UnionBoxyRotate/16 51.01% 25.46%
UnionBoxyRotate/256 86.98% 45.34%
UnionCurvy/1 6.19% 2.48%
UnionCurvy/16 23.95% 10.82%
UnionCurvy/256 69.00% 30.95%
---------------------------------------
Total 42.37% 23.98%
commit b9332ea94fb17279c750f3802a9287aa97571f7d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 8 18:19:44 2024 +0200
Split Crossing calculation into two
Taking the HullOverlap() check out may enable inlining it, which
will speed up in a double loop (calculating the hull of the outer edge
only once) and also may be faster for the straight cases.
This results in significant additional speedups.
Run on (24 X 2400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x12)
L1 Instruction 32 KiB (x12)
L2 Unified 256 KiB (x12)
L3 Unified 15360 KiB (x2)
Load Average: 5.14, 4.86, 4.19
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 2776 ns 2776 ns 252709
ExpandBoxy/16 38704 ns 38704 ns 18168
ExpandBoxy/256 4309827 ns 4309672 ns 163
ExpandBoxyRotate/1 3432 ns 3432 ns 204987
ExpandBoxyRotate/16 44497 ns 44497 ns 15691
ExpandBoxyRotate/256 4396776 ns 4396488 ns 159
ExpandCurvy/1 25775 ns 25774 ns 26973
ExpandCurvy/16 216064 ns 216063 ns 3232
ExpandCurvy/256 7679049 ns 7679121 ns 91
UnionBoxy/1 6528 ns 6528 ns 106732
UnionBoxy/16 124161 ns 124161 ns 5631
UnionBoxy/256 13611049 ns 13610250 ns 52
UnionBoxyRotate/1 7447 ns 7447 ns 94347
UnionBoxyRotate/16 133993 ns 133992 ns 5217
UnionBoxyRotate/256 14245779 ns 14245555 ns 49
UnionCurvy/1 69382 ns 69383 ns 9999
UnionCurvy/16 902965 ns 902940 ns 777
UnionCurvy/256 56316661 ns 56315067 ns 12
commit 65771fae17d9f64944b0a02593ba459b8bc3fa77
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed May 8 18:06:51 2024 +0200
[block] fixes
- Always fill BlockBlock::basic_format so that \c() works.
- Improve parsing of 0,0,0,0 attr values: remove location escapes
- Correctly display help for margin
commit 12a294762d1fa100a8460dd1e6105f1941f28adb
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Jun 26 14:38:48 2024 +0200
[graph] Uplifting to graphviz v11
We still compile with old versions.
commit 36b0de677634f51c4b70901e4167cbea868c1be7
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Jun 24 21:24:16 2024 +0200
[graph] fix: prevent a crash
If we cannot add to the graph we no longer crash, just omit the element
we could not add to the gvgraph engine.
Note that the bug we aim to fix (#94) happened, because
- some linker error resulted in Agundirected (a constant linked from
cgraph.dll) having 'no_loops' flag set (well, all the flags set).
- This caused the graphviz engine refuse to add a->a self loops, meaning
agedge returning NULL.
- We did not check this and dereferenced it.
This never happened on Linux (no linker error).
commit 28079e6379feabe016e6b4d5545dda5f26c31c10
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 7 12:39:11 2024 +0200
[block] fix: naming for cloned unnamed parents
commit 236ae6597ac76a5a487aa33aa6895737fb81cba1
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue May 7 12:13:12 2024 +0200
[signalling] fix: badly ordered box entities
commit e8bca9d5d5717975f25fa95bf1d7c02493d80633
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Apr 16 10:45:10 2024 +0200
[signalling] fix
'outer' was a reference, which got updated, when region_belts[RD-1] was
updated. After refactoring Contour, Contour::GetBoundingBox() no longer
returns a reference but a value, which does not get updated.
commit 9b6b78f4a6f9ae24908370506058e89f6cf30142
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Apr 10 18:37:30 2024 +0200
Refactor Contour
Removing the bounding box member. This makes all operations simpler,
with the exception of getting the bounding box, which is now 4 double
min/max operations (and a Block copy). This reduces the size of Contour
from 184->152 bytes (32-bit) 208->176 (64-bit).
Since we do not have to calculate the bb, our benchmark improved again.
(But this may not be a true improvement, we just became comparable to
numbers in commit 'perf: allow inlining some Edge:: functions' and
prior.)
Run on (24 X 2400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x12)
L1 Instruction 32 KiB (x12)
L2 Unified 256 KiB (x12)
L3 Unified 15360 KiB (x2)
Load Average: 7.56, 3.60, 2.65
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 2971 ns 2971 ns 236661
ExpandBoxy/16 53921 ns 53921 ns 12974
ExpandBoxy/256 7690392 ns 7689768 ns 91
ExpandBoxyRotate/1 3560 ns 3560 ns 196410
ExpandBoxyRotate/16 59357 ns 59357 ns 11781
ExpandBoxyRotate/256 7794707 ns 7794098 ns 90
ExpandCurvy/1 25940 ns 25940 ns 26945
ExpandCurvy/16 218781 ns 218775 ns 3208
ExpandCurvy/256 8269882 ns 8269960 ns 84
UnionBoxy/1 7033 ns 7032 ns 99715
UnionBoxy/16 155739 ns 155739 ns 4498
UnionBoxy/256 20822176 ns 20821461 ns 34
UnionBoxyRotate/1 7863 ns 7862 ns 88989
UnionBoxyRotate/16 163567 ns 163563 ns 4280
UnionBoxyRotate/256 20910375 ns 20909506 ns 33
UnionCurvy/1 69879 ns 69880 ns 9916
UnionCurvy/16 957535 ns 957521 ns 733
UnionCurvy/256 70731589 ns 70729718 ns 10
commit 1d1f5e20b541c9fde2940f9dc2757942c70ae595
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Apr 10 18:02:48 2024 +0200
Refactor SimpleContour
Remove the bitfields for clockwise and the *_fresh ones. Instead store
this info in 'area' and 'boundingBox.x.from'. This may be a bit more
processing, but less memory use. This way 32-bit size becomes 56 bytes
from 64, while 64-bit size becomes 64 bytes from 72.
This makes operations on small SimpleContours a bit faster.
Run on (24 X 2400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x12)
L1 Instruction 32 KiB (x12)
L2 Unified 256 KiB (x12)
L3 Unified 15360 KiB (x2)
Load Average: 2.67, 9.73, 6.41
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3018 ns 3018 ns 230550
ExpandBoxy/16 53366 ns 53365 ns 13143
ExpandBoxy/256 7575484 ns 7575284 ns 93
ExpandBoxyRotate/1 3614 ns 3613 ns 193496
ExpandBoxyRotate/16 59487 ns 59487 ns 11789
ExpandBoxyRotate/256 7778114 ns 7777392 ns 90
ExpandCurvy/1 26910 ns 26909 ns 25566
ExpandCurvy/16 229701 ns 229695 ns 3053
ExpandCurvy/256 8449069 ns 8448902 ns 83
UnionBoxy/1 6951 ns 6951 ns 100825
UnionBoxy/16 154929 ns 154929 ns 4480
UnionBoxy/256 20917245 ns 20916947 ns 33
UnionBoxyRotate/1 7844 ns 7843 ns 89335
UnionBoxyRotate/16 163271 ns 163262 ns 4289
UnionBoxyRotate/256 21184981 ns 21184658 ns 33
UnionCurvy/1 70054 ns 70054 ns 9971
UnionCurvy/16 960689 ns 960654 ns 728
UnionCurvy/256 72549196 ns 72549873 ns 10
commit 465fdbb4ee52ddab315f497f555cf93d02989128
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Apr 10 15:04:52 2024 +0200
Avoid intermediate bounding box calc at Expand2D
But do calculate it for the end result. This last step makes the
benchmark somewhat slower (but truer).
Run on (24 X 2400 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x12)
L1 Instruction 32 KiB (x12)
L2 Unified 256 KiB (x12)
L3 Unified 15360 KiB (x2)
Load Average: 0.03, 0.57, 0.51
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3166 ns 3166 ns 221704
ExpandBoxy/16 53936 ns 53936 ns 12983
ExpandBoxy/256 7562920 ns 7562409 ns 92
ExpandBoxyRotate/1 3740 ns 3740 ns 187513
ExpandBoxyRotate/16 59788 ns 59786 ns 11712
ExpandBoxyRotate/256 7775568 ns 7774938 ns 89
ExpandCurvy/1 26462 ns 26462 ns 26408
ExpandCurvy/16 222066 ns 222068 ns 3156
ExpandCurvy/256 8344796 ns 8344627 ns 84
UnionBoxy/1 7052 ns 7052 ns 99041
UnionBoxy/16 154280 ns 154277 ns 4546
UnionBoxy/256 20780072 ns 20778930 ns 34
UnionBoxyRotate/1 7944 ns 7943 ns 88066
UnionBoxyRotate/16 162107 ns 162107 ns 4318
UnionBoxyRotate/256 21112273 ns 21110608 ns 33
UnionCurvy/1 70210 ns 70209 ns 9965
UnionCurvy/16 963121 ns 963130 ns 728
UnionCurvy/256 72491632 ns 72489803 ns 10
commit 4f04530c7fbe60fd72d34ad624147dd8a85a2d3f
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Apr 10 11:13:21 2024 +0200
Tweak of ContoursHelper::HasCrossingCPs().
Also added some lessons in a comment on what not to optimize.
commit d26d8b4bfeb19d69a9e7284bdf9bbc95be17c954
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Apr 10 11:27:26 2024 +0200
Spelling, includes
commit 854c6538522f455b18c1bf05672bb525219210da
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Apr 9 11:11:13 2024 +0200
Make Contour ctors explicit
Made Contour(SimpleContour) and Contour(HoledSimpleContour) ctors
explicit. This is to avoid accidental casts. As a result in some
places we save (avoid an extra conversion), at some other places
we need explicit casts to Contour. (block_arrows.cpp contour_test.cpp)
commit f8a711da601e3832444d3a21939962cbaea98aa7
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Apr 9 15:49:23 2024 +0200
fix: small test improvement
commit 218d298d4b09ee059b8e27cf36daa8e21c55d6bb
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Mar 28 16:50:17 2024 +0100
perf: allow inlining some Edge:: functions
These are really fast for straight edges, so inlining them helps that
case a lot.
ExpandBoxy/1 3043 ns 3043 ns 230304
ExpandBoxy/16 52958 ns 52958 ns 13232
ExpandBoxy/256 7553023 ns 7552244 ns 93
ExpandBoxyRotate/1 3648 ns 3648 ns 192182
ExpandBoxyRotate/16 58559 ns 58557 ns 11961
ExpandBoxyRotate/256 7668402 ns 7667782 ns 91
ExpandCurvy/1 25786 ns 25785 ns 26889
ExpandCurvy/16 218464 ns 218459 ns 3194
ExpandCurvy/256 8239617 ns 8239341 ns 84
UnionBoxy/1 7159 ns 7159 ns 97687
UnionBoxy/16 154206 ns 154203 ns 4541
UnionBoxy/256 20739854 ns 20739624 ns 34
UnionBoxyRotate/1 8012 ns 8012 ns 87263
UnionBoxyRotate/16 161685 ns 161670 ns 4332
UnionBoxyRotate/256 20857230 ns 20856942 ns 34
UnionCurvy/1 70242 ns 70240 ns 9951
UnionCurvy/16 957359 ns 957335 ns 728
UnionCurvy/256 71075369 ns 71076065 ns 10
commit 4f738251aa86c2db719732d2146be29e2c08e354
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Mar 28 16:49:32 2024 +0100
perf: avoid calculating the clockwiseness
- Do not calculate ContoursHelper::clockwise_C{1,2} when working with a
single Contour. These fields will only be used if C2!=nullptr.
- When invoking Contour::Operation() in SimpleContour::CreateExpand(),
we directly place the temp simple contour into a Contour's
first::outline as opposed to using a SimpleContour->Contour ctor. The
latter do want to copy the clockwiseness and bounding box of the
source SimpleContour to that of the contour, which we want to prevent
being calculated.
commit 7397d0605eef5e6b78a72bb134f0db0f1a82473c
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Mar 28 12:48:15 2024 +0100
fix: include
commit 38e6f0789d4af967245f5189b353e42a3d766718
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Mar 26 09:17:18 2024 +0100
Uplift tests to the fixes before
Only note positions have changed, since we fixed Cut().
For some reason exI0.pptx has changed, but not exI0.png. I dunno why.
commit 5e32f10a6e6e48436237245b5e7e21d3eaad2f89
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Mar 26 09:07:24 2024 +0100
[block] fix: brittleness
We also fix a numerical instability in arrow layout. The calculation of
insideness is quite brittle.
commit b0039a75d296098a60066668ad4429c1c62751f2
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Mar 26 09:06:58 2024 +0100
fix: don't invert distance
I have no clue, why this was so.