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 6c9870efbca552f9406b0d8364dbf854fcb8dbd3
Author: Gábor Németh <homar@riseup.net>
Date: Sat Jan 20 08:45:45 2024 +0100
Bump copyright years
commit 9158adecb30c9db176eebccbf7d796816b1cbc29
Author: Gábor Németh <homar@riseup.net>
Date: Tue Oct 3 08:17:51 2023 +0200
Drop unused BD
commit c3ab30e379b5d358ec7b07a7a8990aa96238baa7
Author: Gábor Németh <homar@riseup.net>
Date: Mon Oct 2 16:18:05 2023 +0200
Fix DEP-3 header for 0001
commit d384d020609dfe4188d505c7dca93bc7de2c3f0c
Author: Gábor Németh <homar@riseup.net>
Date: Fri Jan 19 15:51:48 2024 +0100
Start on new upstream 8.5
commit 5b8ec245fa1d25681349f63632e65bc62e874a44
Merge: 7f4e55c65 074a209f8
Author: Gábor Németh <homar@riseup.net>
Date: Fri Jan 19 15:47:56 2024 +0100
Merge tag 'v8.5' into debian/unstable
commit 074a209f8b6fdf193eda5f1e4af84be273487b7c
Author: Gábor Németh <homar@riseup.net>
Date: Thu Jan 18 16:55:59 2024 +0100
[build] Add missing images for dist
commit dccfe7a7351bdbe324ce46e85eb83785bc04e330
Author: Gábor Németh <homar@riseup.net>
Date: Mon Jan 15 11:01:02 2024 +0000
[ci] Make building with 'my' default
commit adc6618f2baa5a4d896168151dcff224c6c9c2ba
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Dec 5 17:20:40 2023 +0100
v8.5 version bump and doc update
commit 8c294a96af1466564109b4d704f3f06d8ef53d1d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Dec 8 16:27:06 2023 +0100
[signalling] fix: last page in OLE is distorted
When copying the last page of a chart as an OLE object to the clipboard,
it ended up in the right size object for the last page, but compressing
the last page to the bottom of the rectangle having empty space above
corresponding to previous pages.
This turned out to be a problem with EMF/WMF drawing. When drawing the
last page of a signalling chart, the background fill was not clipped
by cairo/windows (not sure which is to blame). So the entire chart
background was added to the EMF (with the size of only the last page),
which compressed the image in the Y dir.
This is a workaround to avoid clipping the background for WMF/EMF
exactly at the bk rectangle's edge.
commit b7cfda09d31feb3774085e846ddb89fe5d8a52fa
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Dec 7 15:05:27 2023 +0100
fix: Canvas WMF and EMF drawing
- fake_scale now calculated from actual page size, not the size of the
whole chart.
- Bad control flow fully prevented WMF and EMF file output.
- WMF was not a possible file extension for output files.
commit 1ff4ff1c33d1b8aed12e5d5ed32f1290bf8e757d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Dec 8 22:10:01 2023 +0100
[win] Dont allow pasting arbitrary text as a chart
commit 163eab33351de4773468fc39aa27270e248e073f
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Dec 7 15:03:41 2023 +0100
[win] fix: blocking compilation freezes
It ended up in an infinite loop by forcing redraw from inside OnDraw().
It also did not take compilation result due to seq number mismatch.
commit 96414d9c4e78ba871c7be6ba422d2029f5daf63d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Dec 5 16:48:56 2023 +0100
[win, gui] fix: multi-page copying
Now when copying the entire chart, we use the currently selected page.
- win: Removed the sub-buttons of the "Copy Chart" button
- gui: we save clipboard content even if only page or gui state changes
commit d26b4d2405cc62713143f743b39dfbcc50821ea0
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Dec 5 11:40:42 2023 +0100
[win] Added AutoSave to the MFC GUI
Also rationalized the checks for changes (both for AutoSave and Instant
Compilation). Now we only check for changes 200ms after the last change
was made. If the user kept typing we postpone the saves and compilations
until we have 200ms of no change. This provides a less vibrant
experience.
commit e9a2cc5be532cc73d8d221324a40909eb45171c5
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Dec 4 11:34:41 2023 +0100
[win] Added Instant Compile to the MFC GUI
commit 0cae5e9b2499513af69d3a3d89ca30034c4610fa
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Dec 1 15:47:41 2023 +0100
[win] Added support for alt-text embedding
- Changes to the GUI
- Added AutoPaste checkbox to settings (saved to registry)
- Added new "Copy entire chart" button, fixed button menu
- Added logic to handle Clipboard-originated files & store original
clipboard content (for update)
- Added code to paste alt-text clipboard content
- Added code to save when originating from Clipboard
- Added code to copy to clipboard in alt-text format
- Added CMscGenDoc::SetStatusMessage() to change the status bar.
Known bugs: external editor does not handle this.
commit 7ded8d660800bffb6ae860648f41e304129d3cb3
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Dec 1 14:39:48 2023 +0100
Extend DrawToFile() with single-page option
Both Canvas::DrawToFile() and CDrawingChartData::DrawToFile() is
extended with a parameter that allows drawing only a single page of
the chart to a file.
This also involves changing the Canvas ctor used for file output. It no
longer adds page number to the filename, that was moved to
Chart::DrawToFile().
commit 1daaf37a13936d99b9b62dfaef0745142bd00e80
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 30 12:58:37 2023 +0100
[win] rationalize CMscGenConf::SetLanguage()
commit c3fb5f52a98d464393d65a8f294fc73e0502846d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 30 12:53:53 2023 +0100
[win] rationalize CDrawingChartData::GetSize()
commit e8a01957f7f091b11272091487d8e629b017bc11
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 30 10:49:40 2023 +0100
Small refactor of Canvas::GetPagePosition()
commit 14d0ba599700cf988276ce7628d9dc928e330760
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 29 20:47:21 2023 +0100
[win] Clipboard ops moved to separate file
So that the MFC GUI can use them later.
commit a5dba5e443aa90ebc4e87ffa07c2eb5af92ec678
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 29 20:45:50 2023 +0100
[win] Disambiguate taking compile results
There is a race condition scenario: a compilation is finished, then a
message is sent, but is not processed until a second compilation is done
and a second message is sent. Then we process the first message and take
the compilation result (of the second compilation as it overwrites that
of the first). When the second message comes, we will have no compile
result.
In this patch we fix this race. Now we track each compilation with a seq
number and can match them to WM_APP+293 messages.
commit 31b0a22fd494d1bc5cf0340f30d1a354dce100fd
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 29 20:39:04 2023 +0100
[win] opt: move CChartData instead of copy
commit a9e079ce3064a46c46a031f8f607f52f44ba52f9
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 29 20:35:40 2023 +0100
[gui] More precise clipboard detection
When we see an eligible object on the clipboard (Art_GVML or Alt-text)
we only offer to paste it until it is on the clipboard.
commit 8e51bcf0901004446ee9f0d2a0135a2a2c1fe5cb
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 29 09:59:12 2023 +0100
[gui] separate clipboard.h from GUI
commit 7f3357ee7f3c51fab82ba585e147904ecf8704d9
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Nov 28 14:06:30 2023 +0100
Spelling
commit d3f549d21fb3b42eb20d42e76f823020364e641d
Author: Gábor Németh <homar@riseup.net>
Date: Mon Dec 11 20:42:23 2023 +0000
[build] Fix UB regexp; fix #90
commit f39467ec1c4967ddb5bcf719476259be74402520
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Dec 1 15:33:28 2023 +0100
[mac] fix: drop a framework deprecated in 10.11
Starting in macOS 11.0, the Uniform Type Identifiers (UTI) framework
replaces the older Core Services framework for UTI management.
The use of deprecated values stopped working sometime Nov 2023.
This patch makes Msc-generator work only on MacOS 11.0 and later.
commit a9b5d782b2ecbe1b05b08f0357db4166fdbe5d4d
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Nov 28 14:12:24 2023 +0100
[mac] avoid a warning
commit 41cf4b85cbe4f77cda0ce6c6835eec5f71016aec
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Nov 28 17:49:41 2023 +0100
[graph] Fix compatibility with graphviz 9.0
Both 9.0 and 8.0 has introduced breaking API changes. Here we cater for
them. Note that graphviz does not define a version macro available at
compile time, hence the tinkering in configure. On Windows, please
set the graphviz version in src/IncludesGraphviz.props manually.
commit b7e0e7409ff451f51f896df602ebfa0b7beb4685
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Nov 24 09:31:07 2023 +0100
[contour] Make at() non-checking
A few more percentages, all across the board.
(Most cases we just use it in iterating through the contour, hence
no checking is needed. Also at_next() and at_prev() uses it, and they
are guaranteed to be in-bounds. Also, never did we get an exception
so far.)
This results in another 1.6% increase, bringing the total from where we
started almost to 30%.
Run on (24 X 1236 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.20, 0.25, 0.58
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3044 ns 3044 ns 230729
ExpandBoxy/16 55765 ns 55765 ns 12577
ExpandBoxy/256 7876395 ns 7875878 ns 89
ExpandBoxyRotate/1 3631 ns 3631 ns 192275
ExpandBoxyRotate/16 62579 ns 62578 ns 11112
ExpandBoxyRotate/256 8312183 ns 8311254 ns 84
ExpandCurvy/1 26525 ns 26523 ns 26388
ExpandCurvy/16 224321 ns 224318 ns 3126
ExpandCurvy/256 8438712 ns 8438524 ns 83
UnionBoxy/1 7151 ns 7151 ns 98032
UnionBoxy/16 156933 ns 156932 ns 4461
UnionBoxy/256 21684130 ns 21682948 ns 32
UnionBoxyRotate/1 7894 ns 7893 ns 88426
UnionBoxyRotate/16 166515 ns 166503 ns 4201
UnionBoxyRotate/256 22315575 ns 22314481 ns 31
UnionCurvy/1 71387 ns 71388 ns 9786
UnionCurvy/16 971975 ns 971967 ns 720
UnionCurvy/256 72198055 ns 72191717 ns 10
commit 45d80af47f77be2c858add486fbcf97b5a08b867
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 23 15:03:01 2023 +0100
[contour] Improved storage for crosspoints
Below a certain threshold we store them in a sorted vector, above we use
our own hashmap. This way we could improve on the small use 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: 0.19, 4.67, 6.49
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3077 ns 3077 ns 227920
ExpandBoxy/16 57622 ns 57622 ns 12172
ExpandBoxy/256 8461165 ns 8460465 ns 83
ExpandBoxyRotate/1 3695 ns 3695 ns 189408
ExpandBoxyRotate/16 64395 ns 64394 ns 10884
ExpandBoxyRotate/256 8890518 ns 8889880 ns 78
ExpandCurvy/1 26667 ns 26666 ns 26073
ExpandCurvy/16 224740 ns 224733 ns 3100
ExpandCurvy/256 8618920 ns 8618740 ns 80
UnionBoxy/1 7227 ns 7227 ns 97316
UnionBoxy/16 163395 ns 163395 ns 4290
UnionBoxy/256 22832381 ns 22831577 ns 31
UnionBoxyRotate/1 8019 ns 8019 ns 87210
UnionBoxyRotate/16 173376 ns 173361 ns 4037
UnionBoxyRotate/256 23418420 ns 23418490 ns 30
UnionCurvy/1 70937 ns 70935 ns 9877
UnionCurvy/16 983335 ns 983313 ns 710
UnionCurvy/256 75947501 ns 75946574 ns 9
And this concludes the contour performance optimization batch, we have
started in "[test] added simple perf test to measure Expand()" and
continued for 11 commits. The cumulative performance gains are shown
below. Boxy contours contain only horizontal and vertical edges, 4 times
the number shown. Curvy contours only contain beziers the same number.
--------------------------------------------------
Benchmark Old Time New Time Improvement
--------------------------------------------------
ExpandBoxy/1 3647 3077 15.63%
ExpandBoxy/16 89383 57622 35.53%
ExpandBoxy/256 15439473 8460465 45.20%
ExpandBoxyRotate/1 4214 3695 12.32%
ExpandBoxyRotate/16 95817 64394 32.79%
ExpandBoxyRotate/256 15810175 8889880 43.77%
ExpandCurvy/1 29061 26666 8.24%
ExpandCurvy/16 248244 224733 9.47%
ExpandCurvy/256 11399963 8618740 24.40%
UnionBoxy/1 6645 7227 -8.76%
UnionBoxy/16 243493 163395 32.90%
UnionBoxy/256 91934166 22831577 75.17%
UnionBoxyRotate/1 7609 8019 -5.39%
UnionBoxyRotate/16 253343 173361 31.57%
UnionBoxyRotate/256 93682701 23418490 75.00%
UnionCurvy/1 74213 70935 4.42%
UnionCurvy/16 1139692 983313 13.72%
UnionCurvy/256 160781347 75946574 52.76%
This is an overall ~28% increase across all test cases, with the small
contours not improving this much (or getting a bit worse), but with the
larger ones having a more significant improvement. The small cases
suffer from the more logic, which is needed to improve the large cases.
Also, curvy test cases do not improve (or get worse) that much because
their runtime is somewhat spent on crosspoint finding, which is not
changed by these patches.
commit 3157d9d79b2bf0d53a6d4bc7a7fbd60b18976b40
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 23 10:49:04 2023 +0100
[contour] Rearrange Ray fields to save padding
We also move 'coverage_at_0_minus_inf', which is only ever used once per
crosspoint from Ray to ContoursHelper::cp_heads.
This reduces the size of Ray from 88/120 bytes (x86/x64) to 72/88 bytes.
Surprisingly this has almost no effect on performance.
commit d5816db28d652a25927194c2d3fabdf48d905698
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 23 09:55:16 2023 +0100
nit: better error message
commit 9cf6d50e07ed9305595dce7aa742721dee7ee53e
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Nov 21 09:23:55 2023 +0100
[contour] Deterministic CP ordering
When evaluating the crosspoints and selecting start rays, do them in
increasing order of the crosspoints to make this order deterministic.
This is to make tests reproducible. Only 4 tests are broken in very
minor ways, so we update them in canonical.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
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: 4.21, 3.85, 7.14
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3197 ns 3197 ns 219019
ExpandBoxy/16 59298 ns 59294 ns 11818
ExpandBoxy/256 8578589 ns 8578126 ns 82
ExpandBoxyRotate/1 3774 ns 3774 ns 184572
ExpandBoxyRotate/16 65595 ns 65594 ns 10671
ExpandBoxyRotate/256 8924224 ns 8923285 ns 78
ExpandCurvy/1 26689 ns 26688 ns 26249
ExpandCurvy/16 223863 ns 223861 ns 3121
ExpandCurvy/256 8649631 ns 8649333 ns 80
UnionBoxy/1 9078 ns 9077 ns 77168
UnionBoxy/16 178782 ns 178779 ns 3924
UnionBoxy/256 23158646 ns 23158062 ns 30
UnionBoxyRotate/1 9840 ns 9839 ns 71189
UnionBoxyRotate/16 185952 ns 185947 ns 3753
UnionBoxyRotate/256 23859546 ns 23858207 ns 29
UnionCurvy/1 72716 ns 72714 ns 9583
UnionCurvy/16 991993 ns 991933 ns 705
UnionCurvy/256 77092493 ns 77091358 ns 9
commit 505713b6fd5923d9e43e0de98bbdab0ffbf9dc9a
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Nov 20 20:38:47 2023 +0100
[contour] Further optimizing ContoursHelper
Remove the in-place linked list for contours from Ray. This saves
some memory and lookup. Instead simply order Rays such that the rays
are ordered as in a contour.
Also, the heads of the contours are now stored in an ordered vector
rather than in a hashmap, as most of the times we only have a very few
SimpleContours participating.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 1767.88 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: 1.77, 3.14, 6.60
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3148 ns 3148 ns 222377
ExpandBoxy/16 58574 ns 58573 ns 11940
ExpandBoxy/256 8718093 ns 8717710 ns 80
ExpandBoxyRotate/1 3674 ns 3673 ns 189143
ExpandBoxyRotate/16 65069 ns 65068 ns 10767
ExpandBoxyRotate/256 9087769 ns 9086854 ns 77
ExpandCurvy/1 26779 ns 26778 ns 26185
ExpandCurvy/16 225796 ns 225788 ns 3105
ExpandCurvy/256 8790516 ns 8790273 ns 80
UnionBoxy/1 8820 ns 8820 ns 79406
UnionBoxy/16 186609 ns 186608 ns 3757
UnionBoxy/256 23539413 ns 23538844 ns 30
UnionBoxyRotate/1 9695 ns 9695 ns 72121
UnionBoxyRotate/16 191479 ns 191475 ns 3644
UnionBoxyRotate/256 24072302 ns 24071279 ns 29
UnionCurvy/1 72496 ns 72494 ns 9614
UnionCurvy/16 998862 ns 998853 ns 701
UnionCurvy/256 77605554 ns 77602713 ns 9
commit 883c5e665e15ed6193fc6ca93a10722da017a4c5
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 22 14:20:38 2023 +0100
[contour] fix: evaluate CPs for untangle
When we do untangle (one contour), we try finding the rightmost point
of the path and deduce the coverage right of each crosspoint (and store
it in the head's coverage_at_0_minus_inf member). This makes evaluating
the crosspoints faster, as we do not need to find this out the hard way
by walking the whole contour and checking X crossings for each
crosspoint individually.
Now, this mechanism was broken for some contours, where the rightmost
point was also a crosspoint. This patch fixes it.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
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: 1.33, 2.81, 6.31
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3120 ns 3120 ns 225112
ExpandBoxy/16 57256 ns 57255 ns 12230
ExpandBoxy/256 8468749 ns 8468250 ns 83
ExpandBoxyRotate/1 3654 ns 3653 ns 191672
ExpandBoxyRotate/16 63917 ns 63917 ns 10947
ExpandBoxyRotate/256 8875926 ns 8875386 ns 78
ExpandCurvy/1 26843 ns 26843 ns 26034
ExpandCurvy/16 224080 ns 224077 ns 3107
ExpandCurvy/256 8723783 ns 8723582 ns 80
UnionBoxy/1 8785 ns 8785 ns 80043
UnionBoxy/16 183018 ns 183016 ns 3831
UnionBoxy/256 23231065 ns 23229650 ns 30
UnionBoxyRotate/1 9710 ns 9710 ns 72760
UnionBoxyRotate/16 194118 ns 194116 ns 3609
UnionBoxyRotate/256 23895696 ns 23895429 ns 29
UnionCurvy/1 72573 ns 72571 ns 9640
UnionCurvy/16 992309 ns 992297 ns 704
UnionCurvy/256 77759144 ns 77756110 ns 9
commit de67863b8bd2d3747c1cf147056278e8a8e4dfb7
Author: Zoltán Turányi <teknos@gmail.com>
Date: Sun Nov 19 15:09:01 2023 +0100
[contour] Optimize ContoursHelper data structures
Replace the loose in-place lists in ContoursHelper::Ray with hashmaps
to hold the head of contour and cp lists. This makes insertion to them
much faster. It also makes Ray smaller, but this is not a large effect.
We also realize that after PruneCrosspoints() all rays of a crosspoint
are snapped to *exactly* the same coordinates, so strict equality is OK.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 1686.22 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: 1.22, 2.54, 6.03
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3090 ns 3090 ns 227863
ExpandBoxy/16 59533 ns 59533 ns 11759
ExpandBoxy/256 8625136 ns 8624522 ns 80
ExpandBoxyRotate/1 3677 ns 3677 ns 190909
ExpandBoxyRotate/16 66114 ns 66114 ns 10594
ExpandBoxyRotate/256 8978649 ns 8978082 ns 78
ExpandCurvy/1 26556 ns 26555 ns 26374
ExpandCurvy/16 225428 ns 225420 ns 3107
ExpandCurvy/256 8744011 ns 8743616 ns 80
UnionBoxy/1 6291 ns 6291 ns 111820
UnionBoxy/16 176010 ns 176005 ns 3983
UnionBoxy/256 33784629 ns 33781507 ns 21
UnionBoxyRotate/1 7200 ns 7200 ns 97436
UnionBoxyRotate/16 182913 ns 182904 ns 3827
UnionBoxyRotate/256 34180432 ns 34178828 ns 21
UnionCurvy/1 70126 ns 70125 ns 9952
UnionCurvy/16 992774 ns 992768 ns 700
UnionCurvy/256 88512068 ns 88506930 ns 8
commit 803a9c5f49bb6809f682ea918f05606f72fa32ec
Author: Zoltán Turányi <teknos@gmail.com>
Date: Sun Nov 19 15:39:02 2023 +0100
Spelling
commit 200b611e667fe196d5dc0de01cfe985c1bd66a0e
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Nov 17 17:48:42 2023 +0100
[contour] Optimize PruneCrosspoints()
When creating the in-place ordered linked lists, we take too much time
in linearly searching for the right place. We pre-sort the array to
minimize the linear search time for the most pressing of the lists.
For large unions (1K edges, many crosspoints) this improves performance
by 2-3x (curvy or straight contours).
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 1889.13 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: 1.13, 0.76, 0.86
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3060 ns 3059 ns 228050
ExpandBoxy/16 58206 ns 58203 ns 12001
ExpandBoxy/256 8538906 ns 8538540 ns 82
ExpandBoxyRotate/1 3647 ns 3647 ns 192058
ExpandBoxyRotate/16 64771 ns 64771 ns 10801
ExpandBoxyRotate/256 8876092 ns 8875077 ns 79
ExpandCurvy/1 26341 ns 26341 ns 26554
ExpandCurvy/16 224607 ns 224599 ns 3116
ExpandCurvy/256 8755116 ns 8754567 ns 80
UnionBoxy/1 6250 ns 6250 ns 111537
UnionBoxy/16 176146 ns 176147 ns 3971
UnionBoxy/256 33756795 ns 33756231 ns 21
UnionBoxyRotate/1 7137 ns 7137 ns 97904
UnionBoxyRotate/16 183211 ns 183210 ns 3820
UnionBoxyRotate/256 34233502 ns 34232768 ns 21
UnionCurvy/1 70030 ns 70029 ns 9917
UnionCurvy/16 998098 ns 998088 ns 701
UnionCurvy/256 89037008 ns 89033030 ns 8
commit 84fe564d8b97fb9f3df8b435de8789e9e62bd8a5
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Nov 17 14:46:25 2023 +0100
[contour] Optimize Edge::Crossing()
Instead of passing in a pointer to a remote bool, we signal overlap as
the sign of the return value. 5% improvement
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 2382.78 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: 1.04, 0.82, 0.87
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3092 ns 3092 ns 225583
ExpandBoxy/16 58479 ns 58477 ns 11901
ExpandBoxy/256 8578946 ns 8578339 ns 82
ExpandBoxyRotate/1 3671 ns 3671 ns 191205
ExpandBoxyRotate/16 65171 ns 65168 ns 10786
ExpandBoxyRotate/256 8874038 ns 8873636 ns 79
ExpandCurvy/1 26521 ns 26520 ns 26402
ExpandCurvy/16 224298 ns 224294 ns 3108
ExpandCurvy/256 8747602 ns 8747045 ns 80
UnionBoxy/1 6281 ns 6281 ns 111417
UnionBoxy/16 233701 ns 233698 ns 3001
UnionBoxy/256 88473853 ns 88473339 ns 8
UnionBoxyRotate/1 7200 ns 7200 ns 96409
UnionBoxyRotate/16 244203 ns 244199 ns 2869
UnionBoxyRotate/256 90075972 ns 90075198 ns 8
UnionCurvy/1 70023 ns 70020 ns 10002
UnionCurvy/16 1042126 ns 1042117 ns 669
UnionCurvy/256 143005912 ns 142992150 ns 5
commit 46271fcc64a20a882b87a1bb78685080ffc3a1d5
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Nov 17 11:44:17 2023 +0100
[contour] Optimize Edge::GetBezierHullBlock()
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
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: 4.24, 2.01, 1.29
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3093 ns 3093 ns 227384
ExpandBoxy/16 63126 ns 63124 ns 11088
ExpandBoxy/256 9661498 ns 9660411 ns 72
ExpandBoxyRotate/1 3668 ns 3668 ns 190580
ExpandBoxyRotate/16 69606 ns 69604 ns 10061
ExpandBoxyRotate/256 10037188 ns 10036719 ns 70
ExpandCurvy/1 26399 ns 26398 ns 26487
ExpandCurvy/16 224990 ns 224984 ns 3110
ExpandCurvy/256 9063532 ns 9063044 ns 77
UnionBoxy/1 6431 ns 6431 ns 109056
UnionBoxy/16 242802 ns 242803 ns 2881
UnionBoxy/256 91744030 ns 91739486 ns 8
UnionBoxyRotate/1 7267 ns 7267 ns 95927
UnionBoxyRotate/16 253878 ns 253868 ns 2763
UnionBoxyRotate/256 93526998 ns 93526202 ns 8
UnionCurvy/1 70180 ns 70174 ns 9983
UnionCurvy/16 1064443 ns 1064436 ns 657
UnionCurvy/256 149243001 ns 149241016 ns 5
commit 02d59d391f5b89d2324a1aeae5f3972d6680fed0
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Nov 17 11:30:36 2023 +0100
[contour] Optimize Edge::Split()
So that we do not copy the flags one-by-one.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 2398.44 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.58, 3.06, 1.72
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3202 ns 3202 ns 220744
ExpandBoxy/16 62769 ns 62769 ns 11157
ExpandBoxy/256 9527944 ns 9527110 ns 73
ExpandBoxyRotate/1 3742 ns 3742 ns 185159
ExpandBoxyRotate/16 69260 ns 69260 ns 10141
ExpandBoxyRotate/256 9842994 ns 9842690 ns 71
ExpandCurvy/1 27223 ns 27222 ns 25694
ExpandCurvy/16 232406 ns 232399 ns 3016
ExpandCurvy/256 9701937 ns 9701832 ns 72
UnionBoxy/1 6417 ns 6417 ns 109111
UnionBoxy/16 244114 ns 244107 ns 2867
UnionBoxy/256 91238731 ns 91237774 ns 8
UnionBoxyRotate/1 7320 ns 7320 ns 95487
UnionBoxyRotate/16 253537 ns 253533 ns 2759
UnionBoxyRotate/256 91889547 ns 91883564 ns 7
UnionCurvy/1 72927 ns 72924 ns 9594
UnionCurvy/16 1133671 ns 1133657 ns 617
UnionCurvy/256 158969167 ns 158954584 ns 4
commit 42f4fd9d2403dedf3c7e561d4b71b5e306b537e2
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 15 18:28:39 2023 +0100
[contour] Optimize Range/Block::Overlap() if gap=0
Some additional speedup.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 2330.5 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: 6.63, 3.85, 2.08
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3162 ns 3162 ns 221080
ExpandBoxy/16 62124 ns 62123 ns 11265
ExpandBoxy/256 9535133 ns 9533980 ns 73
ExpandBoxyRotate/1 3803 ns 3803 ns 184758
ExpandBoxyRotate/16 68706 ns 68706 ns 10187
ExpandBoxyRotate/256 9834227 ns 9832842 ns 71
ExpandCurvy/1 27992 ns 27990 ns 25018
ExpandCurvy/16 234765 ns 234759 ns 2981
ExpandCurvy/256 9667316 ns 9666984 ns 72
UnionBoxy/1 6362 ns 6361 ns 109734
UnionBoxy/16 237149 ns 237146 ns 2952
UnionBoxy/256 92037391 ns 92029563 ns 8
UnionBoxyRotate/1 7241 ns 7241 ns 96259
UnionBoxyRotate/16 246903 ns 246898 ns 2834
UnionBoxyRotate/256 93513362 ns 93510579 ns 7
UnionCurvy/1 73331 ns 73329 ns 9537
UnionCurvy/16 1124003 ns 1124007 ns 622
UnionCurvy/256 158141054 ns 158141551 ns 4
commit 1c22eaf2f4e3f6f3e69ace13d1c9c1ebdf6d9120
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Nov 7 15:27:52 2023 +0100
[contour] Broken out data storage from Edge
- Meta, Update and the enums are now in EdgeBase
- The actual coordinates and the metadata is stored in EdgeStorage
- All functions in Edge refers to the coordinates and metadata via
accessor functions.
- We have tightened up sanity checking a bit via asserts. This resulted
in minimal changes to contour canonical images.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 2299.33 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.62, 4.69, 2.49
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3221 ns 3221 ns 217304
ExpandBoxy/16 64012 ns 64011 ns 10939
ExpandBoxy/256 9921228 ns 9920743 ns 70
ExpandBoxyRotate/1 3784 ns 3784 ns 185293
ExpandBoxyRotate/16 70436 ns 70435 ns 9929
ExpandBoxyRotate/256 10266532 ns 10265627 ns 68
ExpandCurvy/1 28235 ns 28235 ns 24805
ExpandCurvy/16 237383 ns 237377 ns 2950
ExpandCurvy/256 9819898 ns 9819090 ns 72
UnionBoxy/1 6345 ns 6345 ns 110307
UnionBoxy/16 238006 ns 238004 ns 2932
UnionBoxy/256 91115695 ns 91114687 ns 7
UnionBoxyRotate/1 7284 ns 7284 ns 96047
UnionBoxyRotate/16 249491 ns 249486 ns 2789
UnionBoxyRotate/256 93221069 ns 93221374 ns 8
UnionCurvy/1 73833 ns 73830 ns 9494
UnionCurvy/16 1132631 ns 1132595 ns 618
UnionCurvy/256 159377044 ns 159369192 ns 4
commit fcda584c62553661d692784c6867563a61540d34
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 15 09:22:58 2023 +0100
[contour] perf improvement, removing modulo
Performance measurements (the tests/perftest) showed that 66% of
ContoursHelper::FindCrosspointsHelper(contour::SimpleContour const*)
was spent in doing the modulo of EdgeVector<>::next(size_t).
It had been replaced to a much faster branch, instead.
This commit also contains removal of modulo elsewhere and some spelling.
This commit resulted in a 40% speed improvement for large expands and
20% for small ones.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 2399.95 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.44, 4.80, 2.74
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3131 ns 3131 ns 222241
ExpandBoxy/16 64679 ns 64675 ns 10816
ExpandBoxy/256 10177695 ns 10176548 ns 69
ExpandBoxyRotate/1 3791 ns 3791 ns 187171
ExpandBoxyRotate/16 71145 ns 71145 ns 9844
ExpandBoxyRotate/256 10433025 ns 10432030 ns 67
ExpandCurvy/1 28454 ns 28454 ns 24658
ExpandCurvy/16 236349 ns 236341 ns 2963
ExpandCurvy/256 9905471 ns 9904955 ns 71
UnionBoxy/1 6284 ns 6284 ns 111003
UnionBoxy/16 238098 ns 238084 ns 2939
UnionBoxy/256 89089513 ns 89082565 ns 8
UnionBoxyRotate/1 7272 ns 7272 ns 96191
UnionBoxyRotate/16 249242 ns 249235 ns 2808
UnionBoxyRotate/256 95122406 ns 95119738 ns 7
UnionCurvy/1 74723 ns 74721 ns 9343
UnionCurvy/16 1143973 ns 1143961 ns 613
UnionCurvy/256 159312827 ns 159313425 ns 4
commit 2200e012a3e0e549f536261813d7b98ad4b392c5
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Nov 6 09:31:20 2023 +0100
[test] added simple perf test to measure Expand()
- You need Google Benchmark installed
- Measures Expand() on an increasingly complex set of contours
- The contours only have horizontal and vertical edges, 4x the number
displayed in the text.
- A second set of tests have only 15 degree slanted edges (a bit more
compute power to calculate crossings.
Perf results on bigdata5 using -O3 -DNDEBUG with g++-13:
Run on (24 X 1776.6 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.91, 5.27, 3.06
---------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------
ExpandBoxy/1 3647 ns 3647 ns 191825
ExpandBoxy/16 89385 ns 89383 ns 7829
ExpandBoxy/256 15439916 ns 15439473 ns 45
ExpandBoxyRotate/1 4214 ns 4214 ns 167277
ExpandBoxyRotate/16 95817 ns 95817 ns 7323
ExpandBoxyRotate/256 15811340 ns 15810175 ns 44
ExpandCurvy/1 29063 ns 29061 ns 24046
ExpandCurvy/16 248263 ns 248244 ns 2817
ExpandCurvy/256 11400485 ns 11399963 ns 61
UnionBoxy/1 6645 ns 6645 ns 105062
UnionBoxy/16 243501 ns 243493 ns 2856
UnionBoxy/256 91933859 ns 91934166 ns 8
UnionBoxyRotate/1 7609 ns 7609 ns 92562
UnionBoxyRotate/16 253359 ns 253343 ns 2764
UnionBoxyRotate/256 93691533 ns 93682701 ns 8
UnionCurvy/1 74214 ns 74213 ns 9407
UnionCurvy/16 1139742 ns 1139692 ns 613
UnionCurvy/256 160789415 ns 160781347 ns 4
commit 7099826ccf5ffbe18f4f2a0380f859853ae73a0b
Author: Zoltán Turányi <teknos@gmail.com>
Date: Sun Nov 19 15:12:21 2023 +0100
Spelling
commit 6a022b8312749663190f36444210f512436d7116
Author: Zoltán Turányi <teknos@gmail.com>
Date: Wed Nov 15 12:10:25 2023 +0100
[win] Remove workaround for VS bug
Fixed by: https://developercommunity.visualstudio.com/t/Internal-compiler-error-when-inheriting-/10180917
Plus some spellcheck.
commit f6d53bc9de9ba805d1fa29519dbd045dc68650c7
Author: Zoltán Turányi <teknos@gmail.com>
Date: Mon Nov 6 08:38:39 2023 +0100
[block] Fix GUI expand/collapse for no-name boxes
Also fix the associated help and some spellcheck.
commit 8858945c6ea52be6ea393b4df13f9d156f54c3bc
Author: Gábor Németh <homar@riseup.net>
Date: Mon Oct 2 16:13:18 2023 +0200
[test] Dump failing tests as Base64
We save some logfile space and PNG conversion hassle
commit b3deb113d9a50c13fcb79580b3cecf951767cb4f
Author: Gábor Németh <homar@riseup.net>
Date: Mon Oct 2 15:53:04 2023 +0200
[test] More png tools
commit 4eb5eef130c1e49599dce30e85b7a09f9313fcb7
Author: Zoltán Turányi <teknos@gmail.com>
Date: Thu Nov 2 10:59:43 2023 +0100
nits
commit 69e667e939186ea752ce82b387dc6273b5c51e72
Author: Zoltán Turányi <teknos@gmail.com>
Date: Fri Aug 18 14:05:13 2023 +0200
[gui] --fps and MSCGEN_FPS to limit frame rate
commit cc2af02b8052483fa5d8588c1c9680eef7537057
Author: Zoltán Turányi <teknos@gmail.com>
Date: Tue Oct 17 16:10:53 2023 +0200
[gui] fix help text wrapping
commit 7f4e55c65200576c7ac9e031dc2999735cb0ba29
Author: Gábor Németh <homar@riseup.net>
Date: Mon Sep 25 16:14:23 2023 +0200
Show failing tests in text log
commit 02d3631bd40391ec8f6a4959597527dcbc99598b
Author: Gábor Németh <homar@riseup.net>
Date: Mon Sep 25 15:56:45 2023 +0200
New upstream tarball 8.4.2
commit 1da58068e398da8ae38e5c07687ae0db6a413554
Author: Gábor Németh <homar@riseup.net>
Date: Wed Sep 6 15:40:24 2023 +0200
[build] Check for timeouts in unit tests
commit 3f4c7d158c598d0a2fbc2cd7cbe335c64ad8a51b
Author: Gábor Németh <homar@riseup.net>
Date: Mon Aug 28 14:33:57 2023 +0200
[build] Make explicit when unit tests finish
and update the target file only then. Besides this checks whether `contours` gets stuck in verbose builds.
commit 9ab4c9a38df67c65644494ccac826bc5f54fce2b
Author: Gábor Németh <homar@riseup.net>
Date: Tue Jul 18 10:56:10 2023 +0200
Fix release tag in d/ch
commit 7f0f6688f893189ab61220e1118984ecedb110ef
Author: Gábor Németh <homar@riseup.net>
Date: Wed Jun 14 16:18:55 2023 +0200
Fix missing include with g++-13
commit cd4268b3f2e76f95e4bcd089b636c7b31cb98772
Author: Gábor Németh <homar@riseup.net>
Date: Thu Jun 1 10:12:42 2023 +0200
Switch to limpress-nogui (#1024840)
commit 0c9a1c4bf7e79adec102a1fe16f20cecf41ef902
Author: Gábor Németh <homar@riseup.net>
Date: Thu May 25 12:28:30 2023 +0200
Remove built header file