Building FF with tcc

Reuben Thomas <[email protected]>
Newsgroups gmane.comp.fonts.fontforge.devel
Message-ID <CAOnWdojmMme2AvhaaH=cAuO7SkFBNTT0-agzs5tZCCkx3oXvEw@mail.gmail.com>
I thought other developers may be interested in a little experiment I did
today: I built FontForge with tcc:

http://bellard.org/tcc/

TCC is a very fast and small C compiler, which began life unpromisingly as
an entry in the International Obfuscated C Code Contest, by the legendary
Fabrice Bellard (of ffmpeg, Javascript PC Emulator and other fame). I was
interested to see if I could get a faster build.

I could. One of the nice things about using a faster C compiler is that it
also speeds up configuration considerably.

On my quad-core Core i5 2.5GHz/16Gb Sandy Bridge (i.e. fairly modest)
system, using make -j 4 to run up to 4 jobs in parallel, and ccache with a
well-primed cache, meaning that this test tells us more about compiler
start-up time than raw compilation performance, this took:

CC=tcc LD=tcc ./configure && make: 1m9s
./configure && make: 1m59s
CFLAGS=-O0 ./configure && make: 1m46s

I did not exercise the resulting binaries hard, but it opened the GUI with
a font loaded and passed the test suite (the tcc version was noticeably
slower running the CPU-intensive test 45 than the optimized GCC version,
and noticeably faster than the unoptimized GCC version).

Unfortunately this required patches to both tcc (to define preprocessor
symbols needed by the Python headers) and libtool (to extend its tcc
support), so I wouldn't recommend this to anyone else just yet, but all the
patches have gone upstream. For developers who like me rather miss the zero
compilation times of more modern systems, I recommend taking a look at tcc
when it and libtool have each had another release (i.e. tcc > 0.9.26 and
libtool > 2.4.2).

I also found a few little niggles in FontForge that tcc correctly detected,
and I'll push those shortly.

-- 
http://rrt.sc3d.org

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk

_______________________________________________
Fontforge-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fontforge-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.