Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: faster Cache::write_contiguous() #5715

Merged
merged 2 commits into from
Jul 2, 2023

Conversation

ckerr
Copy link
Member

@ckerr ckerr commented Jul 2, 2023

Use raw pointers instead of iterators for this loop.

In a profile of just downloading a torrent with no other activity, this lowers write_contiguous() from 9.8% to 4.5% in my per testing

Notes: Made small performance improvements in libtransmission.

@ckerr ckerr added scope:core type:perf A code change that improves performance semver:patch make backwards compatible bug fixes labels Jul 2, 2023
@ckerr ckerr added this to the 4.0.x milestone Jul 2, 2023
@ckerr ckerr merged commit d76d26a into main Jul 2, 2023
20 of 21 checks passed
@ckerr ckerr deleted the perf/faster-cache-write-contiguous branch July 2, 2023 20:23
ckerr added a commit that referenced this pull request Jul 2, 2023
@ckerr ckerr added notes:none Should not be listed in release notes and removed notes:none Should not be listed in release notes labels Jul 14, 2023
mtremer pushed a commit to ipfire/ipfire-2.x that referenced this pull request Aug 30, 2023
- Update from version 4.0.3 to 4.0.4
- Update of rootfile not required.
- Changelog
Transmission 4.0.4
	This is a bugfix-only release. Everyone's feedback on 4.0.x has been very helpful -- thanks for all the suggestions, bug reports, and pull requests!
What's New in 4.0.4
All Platforms
	* Fixed bug in sending torrent metadata to peers. ([#5460](transmission/transmission#5460))
	* Avoid unnecessary heap memory allocations. ([#5520](transmission/transmission#5520), [#5527](transmission/transmission#5527))
	* Fixed filename collision edge case when renaming files. ([#5563](transmission/transmission#5563))
	* Fixed locale errors that broke number rounding when displaying statistics, e.g. upload / download ratios. ([#5587](transmission/transmission#5587))
	* Always use a fixed-length key query in tracker announces. This isn't required by the [spec](https://www.bittorrent.org/beps/bep_0007.html), but some trackers rely on that fixed length because it's common practice by other BitTorrent clients. ([#5652](transmission/transmission#5652))
	* Fixed potential Windows crash when [getstdhandle()](https://learn.microsoft.com/en-us/windows/console/getstdhandle) returns `NULL`. ([#5675](transmission/transmission#5675))
	* Fixed `4.0.0` bug where the port numbers in LDP announces are sometimes malformed. ([#5825](transmission/transmission#5825))
	* Fixed a bug that prevented editing the query part of a tracker URL. ([#5871](transmission/transmission#5871))
	* Fixed a bug where Transmission may not announce LPD on its listening interface. ([#5896](transmission/transmission#5896))
	* Made small performance improvements in libtransmission. ([#5715](transmission/transmission#5715))
macOS Client
	* Updated code that had been using deprecated API. ([#5633](transmission/transmission#5633))
Qt Client
	* Fixed torrent name rendering when showing magnet links in compact view. ([#5491](transmission/transmission#5491))
	* Fixed bug that broke the "Move torrent file to trash" setting. ([#5505](transmission/transmission#5505))
	* Fixed Qt 6.4 deprecation warning. ([#5552](transmission/transmission#5552))
	* Fixed poor resolution of Qt application icon. ([#5570](transmission/transmission#5570))
GTK Client
	* Fixed missing 'Remove torrent' tooltip. ([#5777](transmission/transmission#5777))
Web Client
	* Don't show `null` as a tier name in the inspector's tier list. ([#5462](transmission/transmission#5462))
	* Fixed truncated play / pause icons. ([#5771](transmission/transmission#5771))
	* Fixed overflow when rendering peer lists and made speed indicators honor `prefers-color-scheme` media queries. ([#5814](transmission/transmission#5814))
	* Made the main menu accessible even on smaller displays. ([#5827](transmission/transmission#5827))
transmission-cli
	* Fixed "no such file or directory" warning when adding a magnet link. ([#5426](transmission/transmission#5426))
	* Fixed bug that caused the wrong decimal separator to be used in some locales. ([#5444](transmission/transmission#5444))
transmission-remote
	* Fixed display bug that failed to show some torrent labels. ([#5572](transmission/transmission#5572))
Everything Else
	* Ran all PNG files through lossless compressors to make them smaller. ([#5586](transmission/transmission#5586))
	* Fixed potential build issue when compiling on macOS with gcc. ([#5632](transmission/transmission#5632))

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:core semver:patch make backwards compatible bug fixes type:perf A code change that improves performance
Development

Successfully merging this pull request may close these issues.

None yet

1 participant