zig/tools
Travis Staloch 8af59d1f98 ComptimeStringMap: return a regular struct and optimize
this patch renames ComptimeStringMap to StaticStringMap, makes it
accept only a single type parameter, and return a known struct type
instead of an anonymous struct.  initial motivation for these changes
was to reduce the 'very long type names' issue described here
https://github.com/ziglang/zig/pull/19682.

this breaks the previous API.  users will now need to write:
`const map = std.StaticStringMap(T).initComptime(kvs_list);`

* move `kvs_list` param from type param to an `initComptime()` param
* new public methods
  * `keys()`, `values()` helpers
  * `init(allocator)`, `deinit(allocator)` for runtime data
  * `getLongestPrefix(str)`, `getLongestPrefixIndex(str)` - i'm not sure
     these belong but have left in for now incase they are deemed useful
* performance notes:
  * i posted some benchmarking results here:
    https://github.com/travisstaloch/comptime-string-map-revised/issues/1
  * i noticed a speedup reducing the size of the struct from 48 to 32
    bytes and thus use u32s instead of usize for all length fields
  * i noticed speedup storing KVs as a struct of arrays
  * latest benchmark shows these wall_time improvements for
    debug/safe/small/fast builds: -6.6% / -10.2% / -19.1% / -8.9%. full
    output in link above.
2024-04-22 15:31:41 -07:00
..
crc Rewrite update_crc_catalog in zig and move tests to separate file 2023-01-22 07:16:49 -08:00
spirv spirv: update spec generator 2024-03-18 19:13:46 +01:00
docgen.zig std.builtin: make link mode fields lowercase 2024-03-11 07:09:10 -07:00
gen_outline_atomics.zig all: zig fmt and rename "@XToY" to "@YFromX" 2023-06-19 12:34:42 -07:00
gen_spirv_spec.zig ComptimeStringMap: return a regular struct and optimize 2024-04-22 15:31:41 -07:00
gen_stubs.zig std.builtin.Endian: make the tags lower case 2023-10-31 21:37:35 -04:00
generate_JSONTestSuite.zig update for the std.fs.Dir changes 2023-11-22 15:24:57 -07:00
generate_linux_syscalls.zig ComptimeStringMap: return a regular struct and optimize 2024-04-22 15:31:41 -07:00
lldb_pretty_printers.py cbe: rewrite CType 2024-03-30 20:50:48 -04:00
process_headers.zig Revert "Merge pull request #12060 from Vexu/IterableDir" 2023-11-22 12:35:33 -07:00
stage1_gdb_pretty_printers.py gdb: restructure pretty printers into different files 2022-03-16 18:13:10 +01:00
stage2_gdb_pretty_printers.py InternPool: port most of value tags 2023-06-10 20:47:54 -07:00
std_gdb_pretty_printers.py tools: implement more lldb pretty printers 2023-02-27 05:37:03 -05:00
update-linux-headers.zig Revert "Merge pull request #12060 from Vexu/IterableDir" 2023-11-22 12:35:33 -07:00
update_clang_options.zig mingw: support -municode 2024-03-27 10:05:57 +00:00
update_cpu_features.zig Update usages of fmtId/isValidId 2024-04-07 14:47:11 +02:00
update_crc_catalog.zig std.hash.crc: get rid of usingnamespace 2024-04-11 14:42:04 -07:00
update_glibc.zig Revert "Merge pull request #12060 from Vexu/IterableDir" 2023-11-22 12:35:33 -07:00
update_mingw.zig mingw-w64 updater: don't include windowsapp or onecore APIs 2024-03-20 11:25:54 -07:00
update_spirv_features.zig Update usages of fmtId/isValidId 2024-04-07 14:47:11 +02:00
zig_gdb_pretty_printers.py Update GDB pretty printers 2023-03-30 12:15:53 +03:00