Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
Comparing Scratchbox cross-compile times to native compile times
by Veli Mankinen (Nov. 1, 2004)

Foreword: Scratchbox, an open source project to simplify cross-platform software compilation, has recently made several advances that may interest embedded device developers. This whitepaper describes how Scratchbox -- which was originated by Movial and is being sponsored by Nokia -- is helping Debian ARM strive for parity with Debian x86 by enabling package maintainers to build native ARM applications on fast x86 PCs, without modifying package build scripts.

A more basic Introduction to Scratchbox is also available as background.



Cross compiling versus native compiling

Scratchbox is a open source configuration and compilation environment for building Linux software and even entire Linux distributions. The basic idea in Scratchbox is to offer developers an environment that works and looks like the target environment before the target environment is available. This speeds up development and facilitates cross-compilation.

During the past months the Scratchbox development team has focused on making Scratchbox work more like a native build system, and bringing in support for additional architectures (like MIPS). The focus has been largely on building Debian packages using Scratchbox, as it appeared to be quite difficult in the past. Debian policy has been that everything should be built natively -- which is very time consuming and quite tedious, for example on ARM based systems. Scratchbox is designed to enable faster building, without hacking all the build scripts of all possible packages. It would be great to get the Debian ARM version up to date with the Debian x86 version.

Briefly, we have modified the Scratchbox environment and Debian tools so that they allow building almost any Debian package for ARM just like it would be done on a native ARM-PC or equivalent. The Scratchbox ARM environment with Debian Devkit looks just like an ARM-PC that has Debian installed, although in reality you are comfortably using a fast x86 system with its own Linux distribution. This makes fast and native compilation possible.

Scratchbox compile times

We wanted to prove our claim that Scratchbox makes cross-compilation faster and easier, and for this reason we compared some real compile times with native building versus Scratchbox compile times.

The main thing with Scratchbox is to make cross compiling easy, so that it is not necessary to modify the source packages or build systems. To prove our point, we chose some packages that are generally seen to be hard to cross-compile. Gtk2 and the helper libraries you need for that have traditionally been quite challenging to cross-compile. However, with Scratchbox we didn't need to tweak the build scripts at all. We also compiled gimp for more proof.

We used a ARM-PC (see below) as the Native compile environment and also as the CPU-transparency device when compiling with Scratchbox.

The graph below shows the actual compile times. The results show that Scratchbox really shortens the time needed for cross-compilation compared to native ARM. E.g., cross-compiling gtk2 on Scratchbox takes almost 10 times less time than on native ARM PC. The difference remains about the same with other packages, indicating that Scratchbox tremendously decreases the cross-compilation times. On the other hand, the difference between Scratchbox and native x86 was quite tolerable.


Scratchbox compiles are nearly as fast as native x86 compiles.
Tabulated data appears below.


PackageNative ARMSB ARMNative x86
Glib261min 59sec6 min 20sec2 min 50 sec
ATK23min 18sec2min 18sec1min 4sec
Pango57min 8sec5min 2sec2min 42sec
GTK2275min 51sec18min 43sec12min 12sec
Gimp301min 34sec20min 12sec12min 5sec

Conclusion

We believe that the results shown in this article indicate clearly that compiling in Scratchbox is a lot faster than compiling the native way, for example for the ARM target. Scratchbox is now easier to use and set up, thanks to better documentation. Compiling in Scratchbox is almost as easy as compiling natively, and it doesn't require special hacking of packages like cross-compiling the old-fashioned way. We strongly encourage everybody to try it out and to challenge our claims!



Test platform details
  • Linux PC:
    • Intel Xeon CPU 2.80GHz; 80GB IDE HDD; 2GB RAM
    • Debian Sarge with Linux kernel 2.6.8-1-686
    • Scratchbox 0.9.8.2

  • ARM PC:
    • Intel SA110 CPU 233MHz; 40GB IDE HDD; 256MB RAM
    • Debian Sarge with Linux kernel 2.4.25



Further information

About the author: Veli Mankinen has been a technical project manager in Movial for over two years, and has been involved in many of Movial's embedded Linux projects. Veli is one of the lead architects and developers behind Scratchbox. The Scratchbox project originated at and is maintained by Movial, a Finnish software design, integration, and development firm specializing embedded Linux and Symbian devices.



Related Stories:

(Click here for further information)


7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.

Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.

Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.

Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.

Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.

Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.

Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.

Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
GOLD SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

mobile phones!

other cool
gadgets



BREAKING NEWS

• Linux-friendly SoCs target low-end multimedia
• CompactFlash as a COTS "standard"
• 65nm ARM9 SoCs target PNDs, smartphones
• Motorola Ming A1600 ships
• N810 gains Android installer
• PC/104-Plus board runs Linux on x86 SoC
• Webinars explore embedded Linux development
• Linux video camera geo-tags, writes to SATA drives
• Garmin Nav devices run Gnome Linux
• Ten LiMo phones this month?
• It's a Yankee Doodle Linux phone
• Wind River to host "Developer Day"
• Dev boards gain Linux support
• 802.11n zooms ahead
• Low-power mini-ITX board runs Linux


Most popular stories -- past 30 days:
• World's cheapest Linux-based laptop?
• Ubuntu ported to a PDA
• 64-way chip gains Linux IDE, dev cards, design wins
• Embedded PowerPC dev kits come with Linux
• Rapid time-to-evaluation -- a key goal for silicon providers
• Embedded Linux is doomed. DOOOMED!
• Rugged PDA available with Linux
• Netflix Player runs Linux
• Miniature Linux PC targets military apps
• $7 SoC runs Linux
• Android Developer Challenge announces first-round winners
• Dual-core ARM SoC clocks to 1.2GHz


Linux-Watch headlines:
• Microsoft tactics push India toward Linux
• Bell, SuperMicro sued over GPL
• "Business intelligence" software goes GPL
• Will Atom bomb?
• LF Summit videos posted
• Linux gains "embedded" maintainers
• Virtualization on tap in SLES and RHEL upgrades
• Linux gets security black eye
• Verizon chooses Linux "platform of choice"
• Hats off to Fedora 9


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.