Skip to content

benchmarking between AVX/SSE4.1 #62

Description

@jg1uaa

SSE support is renewed, I took benchmark.

method:

$ cd LPCNet/build_dir/src
$ cat ../../wav/all.wav | ./lpcnet_enc -s > test.out
$ time cat test.out | ./lpcnet_dec -s > /dev/null

results:

CPU build time(real) Note
Intel Core i7-7700 AVX 7.132s *1
Intel Core i7-7700 SSE4.1 8.941s *1
AMD A8-7600 AVX 15.146s *1
AMD A8-7600 SSE4.1 16.453s *1
Intel Core i3-13100 AVX 3.730s *2
Intel Core i3-13100 SSE4.1 4.870s *2
Intel Core i7-7700 AVX N/A *3
Intel Core i7-7700 SSE4.1 29.428s *3
Intel Core i7-7700 SSE4.1 10.858s *4

(*1)Debian-12.1/x86_64, gcc-12.2.0
(*2)Ubuntu-22.04.3/x86_64 LTS on WSL2, gcc-11.4.0
(*3)Slackware-15.0/i686 on QEMU-7.2.4/KVM, gcc-11.2.0
(*4)Slackware-15.0/i686 on QEMU-7.2.4/KVM, clang-13.0.0

QEMU on Slackware did not support AVX instruction.

conclusion:
on x86_64, SSE4.1 build is slightly slower than AVX but we can ignore this disadvantage.

on i686, SSE4.1 build depends with compiler.

suggestion:
we can use SSE4.1 as default on x86_64 environment.
with clever compiler, we will be able to do same things for i686.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions