Difference between revisions of "To Thumb or Not to Thumb"

From CDOT Wiki
Jump to: navigation, search
(Test results)
(Test results)
Line 41: Line 41:
  
 
== Test results ==
 
== Test results ==
 
From a test performed on 2011-11-12 by CTyler:
 
 
........ -O2.. -g... -g stripped
 
nonthumb 48576 98132 37900
 
thumb... 40563 93107 29932
 
 
  
 
nled-2.52
 
nled-2.52
Line 56: Line 49:
  
 
Binary File: usr/bin/nled
 
Binary File: usr/bin/nled
w/o Thumb
 
THUMB
 
THUMB2
 
THUMB / NON-THUMB
 
THUMB / THUMB2
 
  
RPM
 
20776
 
20204
 
20328
 
0.9724
 
0.9939
 
  
Directory
 
50892
 
43084
 
42684
 
0.8465
 
1.0093
 
  
Binary
 
38604
 
30796
 
30396
 
0.7977
 
1.0131
 
  
wget-1.11.4
 
  
Produced RPM: wget-1.11.4-5.fc12.armv5tel.rpm
 
  
Directories and files: 86 directories, 48 files
+
From a test performed on 2011-11-12 by CTyler:
  
Binary File: usr/bin/wget
+
........ -O2.. -g... -g stripped
w/o Thumb
+
nonthumb 48576 98132 37900
THUMB
+
  thumb... 40563 93107 29932
THUMB2
 
THUMB / NON-THUMB
 
THUMB / THUMB2
 
 
 
RPM
 
422360
 
420788
 
419852
 
0.9962
 
1.0022
 
 
 
Directory
 
1863679
 
1811467
 
1810431
 
0.9719
 
1.0006
 
 
 
Binary
 
226464
 
174252
 
173216
 
0.7694
 
1.0060
 
 
 
httpd-2.2.13
 
 
 
Produced RPM: httpd-2.2.13-4.fc12.armv5tel.rpm
 
 
 
Directories and files: 37 directories, 334 files
 
 
 
Binary File: usr/sbin/httpd
 
w/o Thumb
 
THUMB
 
THUMB2
 
THUMB / NON-THUMB
 
THUMB / THUMB2
 
 
 
RPM
 
748180
 
738632
 
736500
 
0.9872
 
1.0029
 
 
 
Directory
 
2752985
 
2425373
 
2408025
 
0.8810
 
1.0072
 
 
 
Binary
 
287988
 
233660
 
229712
 
0.8113
 
1.0172
 
 
 
gimp-2.6.7
 
 
 
Produced RPM: gimp-2.6.7-2.fc12.armv5tel.rpm
 
 
 
Directories and files: 206 directories, 1204 files
 
 
 
Binary File 1: usr/bin/gimp-2.6
 
 
 
Binary File 2: usr/bin/gimp-console-2.6
 
w/o Thumb
 
THUMB
 
THUMB2
 
THUMB / NON-THUMB
 
THUMB / THUMB2
 
 
 
RPM
 
12423104
 
12431184
 
12350600
 
1.0006
 
1.0065
 
 
 
Directory
 
45780103
 
43891439
 
43730427
 
0.9587
 
1.0037
 
 
 
Binary 1
 
4284848
 
3450936
 
3371440
 
0.8054
 
1.0236
 
 
 
Binary 2
 
2131228
 
1688860
 
1656092
 
0.7924
 
1.0198
 
 
 
abiword-2.8.1
 
 
 
Produced RPM: libabiword-2.8.1-1.fc12.armv5tel.rpm
 
 
 
Directories and files: 39 directories, 617 files
 
 
 
Binary File: usr/lib/libabiword-2.8
 
w/o Thumb
 
THUMB
 
THUMB2
 
THUMB / NON-THUMB
 
THUMB / THUMB2
 
 
 
RPM
 
5561088
 
4779800
 
4742828
 
0.8595
 
1.0078
 
 
 
Directory
 
21295155
 
17055836
 
16987340
 
0.8009
 
1.0040
 
 
 
Binary
 
5806908
 
3450936
 
3371440
 
0.5943
 
1.0236
 
 
 
tar-1.22
 
 
 
Produced RPM: tar-1.22-8.fc12.armv5tel.rpm
 
 
 
Directories and files: 79 directories, 49 files
 
 
 
Binary File: bin/tar
 
w/o Thumb
 
THUMB
 
THUMB2
 
THUMB / NON-THUMB
 
THUMB / THUMB2
 
 
 
RPM
 
744340
 
742784
 
742180
 
0.9979
 
1.0008
 
 
 
Directory
 
2737195
 
2681159
 
2675975
 
0.9795
 
1.0019
 
 
 
Binary
 
251844
 
195808
 
190624
 
0.7775
 
1.0272
 
 
 
cpio-2.10
 
 
 
Produced RPM: cpio-2.10-5.fc12.armv5tel.rpm
 
 
 
Directories and files: 49 directories, 30 files
 
 
 
Binary File: bin/cpio
 
w/o Thumb
 
THUMB
 
THUMB / NON-THUMB
 
 
 
RPM
 
189908
 
189276
 
0.9967
 
 
 
Directory
 
842194
 
816194
 
0.9691
 
 
 
Binary
 
117064
 
91064
 
0.7779
 
 
 
gzip-1.3.12
 
 
 
Produced RPM: gzip-1.3.12-15.fc12.armv5tel.rpm
 
 
 
Directories and files: 9 directories, 33 files
 
 
 
Binary File: bin/gzip
 
w/o Thumb
 
THUMB
 
THUMB / NON-THUMB
 
 
 
RPM
 
116560
 
115736
 
0.9929
 
 
 
Directory
 
263922
 
252086
 
0.9551
 
 
 
Binary
 
61708
 
49872
 
0.8082
 
 
 
bzip2-1.0.5
 
 
 
Produced RPM: bzip2-1.0.5-6.fc12.armv5tel.rpm
 
 
 
Directories and files: 7 directories, 21 files
 
 
 
Binary File: /usr/bin/bzip2
 
w/o Thumb
 
THUMB
 
THUMB / NON-THUMB
 
 
 
RPM
 
49476
 
49232
 
0.9951
 
 
 
Directory
 
109233
 
103449
 
0.9470
 
 
 
Binary
 
33024
 
28076
 
0.8502
 
 
 
In average, THUMB reduced the sizes about
 
 
 
2.24% for *.rpm files,
 
 
 
7.67% for extracted directories, and
 
 
 
22.16% for executables, compared to NON-THUMB.
 
 
 
While  it might save some disk space for executable files, it doesn't make a  big different for rpm packages since rpm has it's own compressing mechanism.
 
In average, THUMB produced files that are about
 
0.24% for *.rpm files,
 
 
 
0.45% for extracted directories, and
 
 
 
1.86% for executables, greater than THUMB2.
 
 
 
I noticed that THUMB produces files that are almost as small as THUMB2's products.
 
  
 
== Project Details ==
 
== Project Details ==

Revision as of 19:33, 14 December 2010

Project Name

To Thumb? or Not to Thumb?

Project Description

Fedora-ARM does not use thumb. The purpose of this project is to discover whether thumb provides any significant savings in terms of code size, whether programs compiled to thumb execute more quickly or more slowly than non-thumb programs on common ARM processors, whether a thumb compilation takes more or less time than non-thumb, and whether there are any other factors that would influence the decision to support thumb. Ultimately, this project should make a recommendation on the use of the thumb instruction set for the Fedora-ARM secondary architecture.

Project Leader(s)

I will be working alone for this project.

My name is Tae Hee (Tyler) Lee and I'm taking SBR600 course in 2010 Winter Semester.

Blog @ [[1]]

thlee3 @ FAS2

thlee3 @ irc://irc.mozilla.org/seneca

Tyler.lee @ Open Source Seneca Wiki

thlee3@learn.senecac.on.ca

What I need to learn

- rpmbuild
- /usr/lib/rpm/redhat/rpmrc
- /usr/lib/rpm/redhat/macros
- time
- screen
- yumdownloader
- rpm2cpio

Project Plan

Goals for each release:

  • 0.1 Determine whether THUMB gives advantage in file size compared to NON-THUMB.
  • 0.2 Compare and contrast file sizes between NON-THUMB, THUMB and THUMB2.
  • 0.3 Compare the performance of software compiled with THUMB and NON-THUMB

Test results

nled-2.52

Produced RPM: nled-2.52-6.fc12.armv5tel.rpm

Directories and files: 2 directories, 1 file

Binary File: usr/bin/nled




From a test performed on 2011-11-12 by CTyler:

........ -O2.. -g... -g stripped
nonthumb 48576 98132 37900
thumb... 40563 93107 29932

Project Details

To be added.

Project News

October 8th, 2010 - Project started

October 14th, 2010 - Major project page update with more information.

Resources

ARM Architecture - http://en.wikipedia.org/wiki/ARM_architecture#Thumb

Introduction to ARM thumb - http://www.eetimes.com/discussion/other/4024632/Introduction-to-ARM-thumb