`xxHash` is a fast non-cryptographic hashing library. It significantly outperforms md5 which we use in some places currently while also having great collision resistance if not attacked explicitly. The library is added to `extern` because that was the easiest way to do it and has the least impact on others. I expect this library to become a required dependency instead of an optional one. It's licence is `BSD 2-Clause` which seems to be the first of its kind in Blender (there is `BSD 3-Clause` a couple of times). For now, I used the library only for data deduplication when baking geometry nodes where the same geometry is generated for each frame. The bake time in my test goes down from >6s to <1s (note that this includes more than just the hashing time). Pull Request: https://projects.blender.org/blender/blender/pulls/120139
22 lines
298 B
CMake
22 lines
298 B
CMake
# SPDX-FileCopyrightText: 2024 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
set(INC
|
|
PUBLIC .
|
|
)
|
|
|
|
set(INC_SYS
|
|
)
|
|
|
|
set(SRC
|
|
xxhash.c
|
|
xxhash.h
|
|
)
|
|
|
|
set(LIB
|
|
)
|
|
|
|
blender_add_lib(extern_xxhash "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
|
add_library(bf::extern::xxhash ALIAS extern_xxhash)
|