Page 3 of 3 FirstFirst 123
Results 21 to 24 of 24

Thread: Debian Wheezy GNU/kFreeBSD: Slower Than Linux

  1. #21
    Join Date
    Jul 2012
    Posts
    88

    Default

    I've found the reason for low OpenSSL scores on GNU/kFreeBSD, in the way it is built by the PTS. The openssl binaries shipped by Debian don't have this problem:

    Code:
    CC= gcc
    CFLAG= -Wa,--noexecstack -O3
    on GNU/kFreeBSD, vs. assembler optimisations are only being enabled for GNU/Linux:

    Code:
    CC= gcc
    CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
    This is clear from the full output of './openssl_/bin/openssl speed' also:

    Code:
    OpenSSL 1.0.0e 6 Sep 2011
    built on: Sat Jul 14 13:28:40 BST 2012
    options:bn(64,64) rc4(8x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) 
    compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
                      sign    verify    sign/s verify/s
    rsa 4096 bits 0.020554s 0.000307s     48.7   3254.5
    on GNU/Linux, vs. the following on a similar-ish machine running GNU/kFreeBSD:

    Code:
    built on: Sat Jul 14 13:42:24 BST 2012
    options:bn(64,32) rc4(ptr,int) des(idx,cisc,2,long) aes(partial) idea(int) blowfish(idx) 
    compiler: gcc -Wa,--noexecstack -O3
                      sign    verify    sign/s verify/s
    rsa 4096 bits 0.078346s 0.001050s     12.8    952.6

    Quote Originally Posted by nslay View Post
    ... FreeBSD is stuck at gcc 4.2 while the newer Linux distributions are using later versions of gcc.
    FWIW Debian GNU/kFreeBSD builds the kernel with gcc-4.6 and -O2, glibc with gcc-4.4 and -O2, and much of the userland with the new default compiler gcc-4.7.

    Quote Originally Posted by nslay View Post
    Shouldn't, for example, John the Ripper run about the same on FreeBSD? Why should the same blowfish implementation be slower on FreeBSD? That shouldn't involve FreeBSD at all.
    I agree, we may find more cases where the PTS differs from Debian's own package building, and this may account for some of the perceived slowness. With that fixed, we may then get a more interesting comparison of the actual kernels involved, their threads implementations (in applicable benchmarks), scheduling and hardware support.

    Kinda cool that GNU/kFreeBSD even managed to lead some of the benchmarks in http://www.phoronix.com/scan.php?pag...ubuntu12&num=1

  2. #22
    Join Date
    Jul 2012
    Posts
    88

    Default

    I've found the reason for low OpenSSL scores on GNU/kFreeBSD, in the way it is built by the PTS. The openssl binaries shipped by Debian don't have this problem:

    Code:
    CC= gcc
    CFLAG= -Wa,--noexecstack -O3
    on GNU/kFreeBSD, vs. assembler optimisations are only being enabled for GNU/Linux:

    Code:
    CC= gcc
    CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
    This is clear from the full output of './openssl_/bin/openssl speed' also:

    Code:
    OpenSSL 1.0.0e 6 Sep 2011
    built on: Sat Jul 14 13:28:40 BST 2012
    options:bn(64,64) rc4(8x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) 
    compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
                      sign    verify    sign/s verify/s
    rsa 4096 bits 0.020554s 0.000307s     48.7   3254.5
    on GNU/Linux, vs. the following on a similar-ish machine running GNU/kFreeBSD:

    Code:
    built on: Sat Jul 14 13:42:24 BST 2012
    options:bn(64,32) rc4(ptr,int) des(idx,cisc,2,long) aes(partial) idea(int) blowfish(idx) 
    compiler: gcc -Wa,--noexecstack -O3
                      sign    verify    sign/s verify/s
    rsa 4096 bits 0.078346s 0.001050s     12.8    952.6

    Quote Originally Posted by nslay View Post
    ... FreeBSD is stuck at gcc 4.2 while the newer Linux distributions are using later versions of gcc.
    FWIW Debian GNU/kFreeBSD builds the kernel with gcc-4.6 and -O2, glibc with gcc-4.4 and -O2, and much of the userland with the new default compiler gcc-4.7.

    Quote Originally Posted by nslay View Post
    Shouldn't, for example, John the Ripper run about the same on FreeBSD? Why should the same blowfish implementation be slower on FreeBSD? That shouldn't involve FreeBSD at all.
    I agree, we may find more cases where the PTS differs from Debian's own package building, and this may account for some of the perceived slowness. With that fixed, we may then get a more interesting comparison of the actual kernels involved, their threads implementations (in applicable benchmarks), scheduling and hardware support.

    Kinda cool that GNU/kFreeBSD even managed to lead some of the benchmarks in http://www.phoronix.com/scan.php?pag...ubuntu12&num=1

  3. #23
    Join Date
    Jul 2012
    Posts
    88

    Default

    How do I report a bug in the Phoronix Test Suite? Just keep bumping the forum thread?

    It seems that the automatic OS detection built into OpenSSL doesn't support GNU/kFreeBSD, but mis-detects it as GNU/Hurd x86 which means it still gets built, but without the ASM optimisations. Hence the slow OpenSSL benchmark result.

    The Debian packaged OpenSSL doesn't have this problem.

  4. #24
    Join Date
    Jun 2012
    Posts
    343

    Default

    Proving the old adage: Your benchmark results are only as good as your benchmark.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •