Difference between revisions of "To Thumb or Not to Thumb"
(→Test results) |
(→Test results) |
||
Line 145: | Line 145: | ||
|} | |} | ||
− | < | + | <br /> |
− | </ | + | <br /> |
− | < | + | |
+ | <div><b>gimp-2.6.7</b></div><div>Produced RPM: '''gimp-2.6.7-2.fc12.armv5tel.rpm'''</div><div>Directories and files: 206 directories, 1204 files</div><div>Binary File 1: '''usr/bin/gimp-2.6'''</div><div>Binary File 2: '''usr/bin/gimp-console-2.6'''</div><div> | ||
</div> | </div> | ||
Line 188: | Line 189: | ||
|} | |} | ||
− | <div>abiword-2.8.1</div><div>Produced RPM: '''libabiword-2.8.1-1.fc12.armv5tel.rpm'''</div><div>Directories and files: 39 directories, 617 files</div><div>Binary File: '''usr/lib/libabiword-2.8'''</div><div> | + | <br /> |
+ | <br /> | ||
+ | |||
+ | <div><b>abiword-2.8.1</b></div><div>Produced RPM: '''libabiword-2.8.1-1.fc12.armv5tel.rpm'''</div><div>Directories and files: 39 directories, 617 files</div><div>Binary File: '''usr/lib/libabiword-2.8'''</div><div> | ||
</div> | </div> | ||
Line 222: | Line 226: | ||
|} | |} | ||
− | < | + | <br /> |
− | </ | + | <br /> |
− | < | + | |
+ | <div><b>tar-1.22</b></div><div>Produced RPM: '''tar-1.22-8.fc12.armv5tel.rpm'''</div><div>Directories and files: 79 directories, 49 files</div><div>Binary File: '''bin/tar'''</div><div> | ||
</div> | </div> | ||
Line 258: | Line 263: | ||
|} | |} | ||
− | < | + | <br /> |
− | </ | + | <br /> |
− | < | + | |
+ | <div><b>cpio-2.10</b></div><div>Produced RPM: '''cpio-2.10-5.fc12.armv5tel.rpm'''</div><div>Directories and files: 49 directories, 30 files</div><div>Binary File: '''bin/cpio'''</div> | ||
{| cellspacing="2" cellpadding="2" border="1" | {| cellspacing="2" cellpadding="2" border="1" | ||
Line 285: | Line 291: | ||
|} | |} | ||
− | < | + | <br /> |
− | </ | + | <br /> |
− | < | + | |
+ | <div><b>gzip-1.3.12</b></div><div>Produced RPM: '''gzip-1.3.12-15.fc12.armv5tel.rpm'''</div><div>Directories and files: 9 directories, 33 files</div><div>Binary File: '''bin/gzip'''</div> | ||
{| cellspacing="2" cellpadding="2" border="1" | {| cellspacing="2" cellpadding="2" border="1" | ||
Line 312: | Line 319: | ||
|} | |} | ||
− | < | + | <br /> |
− | </ | + | <br /> |
− | < | + | |
+ | <div><b>bzip2-1.0.5</b></div><div>Produced RPM: '''bzip2-1.0.5-6.fc12.armv5tel.rpm'''</div><div>Directories and files: 7 directories, 21 files</div><div>Binary File: '''/usr/bin/bzip2'''</div> | ||
{| cellspacing="2" cellpadding="2" border="1" | {| cellspacing="2" cellpadding="2" border="1" | ||
Line 338: | Line 346: | ||
| align="right" | 0.8502 | | align="right" | 0.8502 | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Revision as of 18:41, 14 December 2010
Contents
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
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 |
w/o Thumb | THUMB | 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 |
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 |
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 |
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 |
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 |
w/o Thumb | THUMB | THUMB / NON-THUMB | |
RPM | 189908 | 189276 | 0.9967 |
Directory | 842194 | 816194 | 0.9691 |
Binary | 117064 | 91064 | 0.7779 |
w/o Thumb | THUMB | THUMB / NON-THUMB | |
RPM | 116560 | 115736 | 0.9929 |
Directory | 263922 | 252086 | 0.9551 |
Binary | 61708 | 49872 | 0.8082 |
w/o Thumb | THUMB | THUMB / NON-THUMB | |
RPM | 49476 | 49232 | 0.9951 |
Directory | 109233 | 103449 | 0.9470 |
Binary | 33024 | 28076 | 0.8502 |
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