Niedawno do biblioteki libc firmy LLVM włączono zoptymalizowaną implementację funkcji kopiowania pamięci „memcpy” dla architektury RISC-V.

Memcpy zoptymalizowane pod kątem RISC-V zostało scalone, co lepiej radzi sobie w przypadkach, gdy dostęp do niewyrównanej pamięci jest nielegalny lub bardzo wolny. ARM32 również mógłby skorzystać, ale na razie jest włączony dla 32-bitowego i 64-bitowego oprogramowania RISC-V.

Benchmarki tej nowej implementacji Guillaume’a Chateleta z Google pokazują, że w niektórych testach czas spada z 474 ns do 126 ns, aw skrajnych przypadkach z 6033 ns do zaledwie 981 ns.


Nawet przy tak dużej szybkości memcpy-ups dla RISC-V, Glibc GNU nadal pokazuje znacznie szybsze wyniki memcpy RISC-V. W niektórych przypadkach wydajność memcpy Glibc na RISC-V jest nadal dwa razy szybsza niż nowa zoptymalizowana implementacja z LLVM libc. Szczegóły dla zainteresowanych za pośrednictwem tej zmiany, która jest teraz dostępna w LLVM 17 Git.

Categories: IT Info