어느 것이 빠릅니까?

1. 이미지 파일 준비


Raspberry pi3b+가 64비트 OS로 작동할 때 32비트 OS와 성능이 다릅니까?라는 의문을 품고 기준 소프트웨어를 사용해 성능을 수치화 비교했다.
이번에는 ubuntu 18.04를 사용합니다.
ubuntu wiki에서 두 개의 그림을 준비하여 unixbench를 설치하는 절차입니다.
  1). armhf(32비트 버전)
     ubuntu-18.04.2-preinstalled-server-armhf+raspi3.img.xz  2). arm64(64bit Edition)
     ubuntu-18.04.2-preinstalled-server-arm64+raspi3.img.xz

2. ubuntu18.04 (32bit)


먼저 Win32 Disk Imager를 사용하여 armhf(32비트 버전) 동결해제된 이미지 파일을 Micro SD 카드에 씁니다.
진행Wifi設定apt updateapt upgrade 후 케네르의 비트수를 확인한다.
$ getconf LONG_BIT
32
예상한 대로 Kernel은 32비트의 속도로 운행하고 있다.
사용하는 기본 소프트웨어는 unixbench, ~/byte-unixbench/UnixBench 이하의 README를 참고하여 실행합니다.
$ git clone https://github.com/kdlucas/byte-unixbench.git
$ cd ./byte-unixbench/UnixBench
$ make
$ ./Run
중간에 gcc와makesudo apt install gcc make가 설치되어 있지 않아 실행 중입니다.
시험 후results 폴더에 일지가 있어서 평균 3회$ ./Run의 결과를 얻었다.

table 2-1 ubuntu18.04 (32bit)


Test
Score
Unit
Index
Dhrystone 2 using register variables
24,926,396.5
lps
2,135.9
Double-Precision Whetstone
4,554.6
MWIPS
828.1
Execl Throughput
2,493.6
lps
579.9
File Copy 1024 bufsize 2000 maxblocks
242,929.9
KBps
613.5
File Copy 256 bufsize 500 maxblocks
65,960.3
KBps
398.5
File Copy 4096 bufsize 8000 maxblocks
553,033.8
KBps
953.5
Pipe Throughput
972,812.5
lps
782.0
Pipe-based Context Switching
177,506.3
lps
443.8
Process Creation
5,494.6
lps
436.1
Shell Scripts (1 concurrent)
4,716.2
lpm
1,112.3
Shell Scripts (8 concurrent)
607.1
lpm
1,011.8
System Call Overhead
1,940,369.4
lps
1,293.6
System Benchmarks Index Score:
782.3

3. ubuntu18.04 (64bit)


이어 arm64(64비트 에디션), 32비트 에디션 역시 64비트 케네르로 작업 중인지 확인했다.
$ cat /boot/firmware/config.txt
enable_uart=1
kernel=kernel8.bin
device_tree_address=0x03000000
dtparam=i2c_arm=on
dtparam=spi=on
arm_64bit=1           ← 64bit設定の確認
$ getconf LONG_BIT
64
와이파이 설정 등 32비트 버전 때와 마찬가지로 설치가 완료되면 git clene, make는 Unix Bench를 수행한다.

table 3-1 ubuntu18.04 (64bit)


Test
Score
Unit
Index
Dhrystone 2 using register variables
29,659,405.9
lps
2528.0
Double-Precision Whetstone
5,346.0
MWIPS
969.8
Execl Throughput
2,313.4
lps
532.7
File Copy 1024 bufsize 2000 maxblocks
262,512.9
KBps
653.5
File Copy 256 bufsize 500 maxblocks
72,269.9
KBps
432.6
File Copy 4096 bufsize 8000 maxblocks
587,768.7
KBps
1004.8
Pipe Throughput
1,122,159.4
lps
899.0
Pipe-based Context Switching
168,999.8
lps
422.4
Process Creation
5,454.6
lps
434.4
Shell Scripts (1 concurrent)
4,437.5
lpm
1045.9
Shell Scripts (8 concurrent)
573.8
lpm
954.0
System Call Overhead
1,785,716.7
lps
1189.8
System Benchmarks Index Score:
803.7

4. 결과


정수 연산 처리, 부동 소수점 연산 처리가 64비트로 동작할 때 속도가 빠르고(Dhystoone2, Double-Pecion), 메모리 폭도 커서 파일 복사(캐시?)효율도 높아진 것 같다.
그러나 사용된 메모리량이 많아졌기 때문에 조개 스크립트와 시스템 호출의 실행 속도가 32비트로 반확장되었다.교환 메모리 설정을 통해 개선할 수 있습니까?숙제잖아.수정, 교환 메모리를 사용하지 않은 처리입니다.
64비트 버전의 케이스 처리 속도가 최적화되지 않았습니까?
Figure 4-1에 데이텀을 기록한 비교 차트입니다.

Figure 4-1 UnixBench 32비트, 64비트 비교


좋은 웹페이지 즐겨찾기