You are viewing a potentially older version of this package. View all versions.
L4zerShark_Team-AzuAutoStorePerformance-1.0.4 icon

AzuAutoStorePerformance

~4x Faster Storage Scanning, ~75% Less Processing Time in heavy-rule tests. Same storage rules, priorities, ranges, timers and item-transfer behavior. Requires AzuAutoStore.

Date uploaded 2 weeks ago
Version 1.0.4
Download link L4zerShark_Team-AzuAutoStorePerformance-1.0.4.zip
Downloads 44
Dependency string L4zerShark_Team-AzuAutoStorePerformance-1.0.4

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2351
Azumatt-AzuAutoStore-3.1.4 icon
Azumatt-AzuAutoStore

Automatically store and deposit items from your inventory or ground into nearby chests and containers. Chest management, hotkey support, quick stack, auto-pickup, favorites, ItemDrawers, backpacks, WardIsLove, ward protection.

Preferred version: 3.1.4

README

AzuAutoStore Performance

~4x Faster Storage Scanning, ~75% Less Processing Time

Measured in paired tests with large item-group exclusion rules; see the scan timings below.

Same storage behavior, faster item-group checks. Your storage rules, priorities, ranges, scan timers, favorites, access checks and item transfers keep their existing behavior. The addon removes repeated group-copying work during storage checks.

Requires the original AzuAutoStore by Azumatt. This is an optional performance addon with its own DLL.

What improves

AzuAutoStore can copy an entire item group into a temporary list for each membership check. This addon checks the existing group directly, avoiding that copy and the usual linear search.

Exclusions, includeOverride priority, exact item-name comparisons and live configuration changes retain their original behavior. The addon leaves transfer handling, chest access, ownership, favorites, range and scan intervals in AzuAutoStore's control.

Large groups checked against many items benefit most. Explicit overrides that already skip group checks have little work for this addon to remove.

Measured performance

Paired tests on Valheim 1.0.16, using AzuAutoStore 3.1.4's actual ground-scan method on a graphical client connected to an isolated local server:

Test scene Original scan With addon
8 chests, 20 drops 4.99 ms 1.27 ms
40 chests, 100 drops 133.10 ms 32.08 ms
100 chests, 200 drops 679.75 ms 167.91 ms

These are median times from seven alternating measurements per mode. Each chest used a 1,501-item exclusion group, and all test drops were in range and excluded. Fixture creation, rendering and Harmony patch setup were outside the timed section.

This is a deliberately heavy rule scenario. It demonstrates reduced scan cost, not a promise of the same improvement in every world or a percentage increase in game FPS. The largest scene can still hitch with the addon. Remote network latency was not measured.

After a private GitHub Copilot review, expanded validation passed on each supported version:

  • 217 direct storage-rule comparisons matched the original decisions and exception behavior.
  • 35 direct group-lookup comparisons matched, including null values and custom comparers.
  • 4 live-configuration checks passed.
  • Real transfers blocked by a group, allowed after a group check, and allowed by an override matched the original decisions, item counts, quality and custom data.

Copilot identified no confirmed production-code bug. The review led to stronger tests and clearer documentation; the shipping DLL is the same tested build. These checks cover the supported builds and tested scenarios, with no claim of exhaustive coverage of every mod combination.

Both supported versions passed connected client/server checks with no new errors. The same three scan tests on 3.1.6 measured 4.82 to 1.34 ms, 132.42 to 33.77 ms, and 672.80 to 172.36 ms respectively.

Requirements and installation

  • BepInExPack Valheim 5.4.2351.
  • Official AzuAutoStore 3.1.4 from Thunderstore, or 3.1.6 from Hexium.

The package declares AzuAutoStore 3.1.4 as its minimum dependency. The reviewed 3.1.6 build is also supported; the addon's build check still applies to other versions.

Install the original mod first, then import this ZIP as a local mod in your mod manager. For manual installation, copy its BepInEx folder into the game/profile folder containing BepInEx.

Install the addon on the clients that should benefit. Ground scans require a local player, so adding it only to a dedicated server will not improve client scan time. Keep the original AzuAutoStore version consistent with your server's requirements.

No new configuration is needed. Removing this addon's DLL restores the original lookup behavior. Existing AzuAutoStore configuration files remain in use.

Only the reviewed official DLL builds are enabled. An unrecognized build produces an “addon inactive” warning and uses AzuAutoStore's original behavior.

Related upstream fixes

The author's newer release includes full-chest log-spam and delayed multiplayer-transfer fixes introduced in 3.1.5. See the upstream releases. This addon addresses group lookup performance and does not backport those separate fixes into 3.1.4.

Credits

AzuAutoStore is by Azumatt. Performance addon by L4zerShark. The package contains the addon only; install AzuAutoStore separately.

CHANGELOG

Changelog

1.0.8

  • Simplify the descriptions while retaining the performance graph, scan timings and compatibility information.
  • Description-only update; mod behavior is unchanged.

1.0.7

  • Show both speedup and percentage less scan time beside each benchmark result, with the "~4x Faster Storage Scans" headline.
  • Include both measures in the short description and retain the measured milliseconds and benchmark conditions.
  • Documentation-only package update using the same 1.0.0 addon DLL.

1.0.6

  • Lead with "~4x Faster Storage Scans" and show measured speedup on the benchmark chart: 3.93x, 4.15x and 4.05x.
  • Keep measured milliseconds, the relative scan-time scale and the benchmark conditions visible.
  • Documentation-only package update using the same 1.0.0 addon DLL.

1.0.5

  • Add an original-versus-addon benchmark chart showing measured scan times and time saved in all three scenes.
  • Include the chart image and its measurement data in the package.
  • Documentation-only package update using the same 1.0.0 addon DLL.

1.0.4

  • Remove the configuration-dependent results wording from the opening description and short description.
  • Description-only package update using the same 1.0.0 addon DLL.

1.0.3

  • Clarify the minimum dependency version and supported behavior.
  • Documentation-only package update using the same 1.0.0 addon DLL.

1.0.2

  • Make the unchanged storage behavior explicit in both descriptions: same rules, priorities, ranges, timers and item transfers.
  • Description-only package update using the same 1.0.0 addon DLL.

1.0.1

  • Add "~4x Faster Storage Scanning, ~75% Less Processing Time" to the full and short descriptions, with the benchmark conditions and configuration-dependent results.
  • Description-only package update using the same 1.0.0 addon DLL.

1.0.0

  • Check existing item groups directly instead of copying them to temporary lists for each storage-rule lookup.
  • Preserve exclusion rules, includeOverride precedence, string comparisons and live configuration changes.
  • Support the official AzuAutoStore 3.1.4 and 3.1.6 DLLs. Leave other builds unchanged and log a warning.