library with a series of performant data types with automated struct value indexing
Find a file
2026-02-11 12:24:24 +00:00
cache.go tweaks 2025-08-19 16:06:49 +01:00
cache_test.go fix zero value logic 2025-08-21 17:17:05 +01:00
common_test.go fix zero value logic 2025-08-21 17:17:05 +01:00
go.mod update go-xunsafe with go1.26 support 2026-02-11 12:24:24 +00:00
go.sum update go-xunsafe with go1.26 support 2026-02-11 12:24:24 +00:00
index.go last version bump for now i swear 2025-10-03 12:10:43 +01:00
item.go last version bump for now i swear 2025-10-03 12:10:43 +01:00
key.go more tweaks 2025-08-19 19:03:49 +01:00
LICENSE first commit 2024-01-05 17:47:37 +00:00
list.go last version bump for now i swear 2025-10-03 12:10:43 +01:00
map.go rewrite timeline.select() functions, fix timeline.insert(), some other tweaks 2025-02-18 15:14:57 +00:00
queue.go start upgrading ready for Go1.25 support 2025-08-18 17:18:08 +01:00
queue_ctx.go start adding Timeline{} type, update a lot of small bits 2025-02-13 13:23:14 +00:00
queue_ctx_test.go fix zero value logic 2025-08-21 17:17:05 +01:00
queue_test.go fix zero value logic 2025-08-21 17:17:05 +01:00
README.md fix zero value logic 2025-08-21 17:17:05 +01:00
runtime.go update go-xunsafe 2026-01-17 21:38:42 +00:00
timeline.go provide access to atomically updated head / tail timeline values 2025-10-13 08:08:38 +01:00
timeline_test.go provide access to atomically updated head / tail timeline values 2025-10-13 08:08:38 +01:00

go-structr

A library with a series of performant data types with automated struct value indexing. Indexing is supported via arbitrary combinations of fields, and in the case of the cache type, negative results (errors!) are also supported.

Under the hood, go-structr maintains a hashmap per index, where each hashmap is keyed by serialized input key. This is handled by the incredibly performant serialization library go-mangler/v2, which at this point in time supports all concrete types, so feel free to index by by almost anything!

See the docs for more API information.

Notes

This is a core underpinning of GoToSocial's performance.