 | | From: | Urs Janssen | | Subject: | tcc version 0.9.21 - test - ignore no - reply | | Date: | 27 Oct 2004 20:40:09 GMT |
|
|
 | hey, der produziert jetzt sogar lauffaehigen code.
|
|
 | | From: | Lutz Frommberger | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | Thu, 28 Oct 2004 00:04:49 +0200 |
|
|
 | Urs Janssen wrote: > hey, der produziert jetzt sogar lauffaehigen code.
Wer? Sven?
gruß, -- Lutz Frommberger | "Wenn ist das Nunstück git und | Slotermeyer? Ja! ... Beiherhund http://www.aussagekraft.de | das Oder die Flipperwaldt pgp key on request | gersput." - Ernest Scribbler
|
|
 | | From: | Urs Janßen | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 27 Oct 2004 23:37:28 GMT |
|
|
 | In , Lutz Frommberger wrote: > > hey, der produziert jetzt sogar lauffaehigen code. > Wer? Sven?
tcc, aber's "Ischa Freimaak!" - da kann man schonmal auf dumme ideen kommen.
|
|
 | | From: | Lutz Frommberger | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | Thu, 28 Oct 2004 10:08:40 +0200 |
|
|
 | Urs Janßen wrote: > tcc, aber's "Ischa Freimaak!" - da kann man schonmal auf dumme ideen > kommen.
Achja stimmt...
gruß, -- Lutz Frommberger | "Wenn ist das Nunstück git und | Slotermeyer? Ja! ... Beiherhund http://www.aussagekraft.de | das Oder die Flipperwaldt pgp key on request | gersput." - Ernest Scribbler
|
|
 | | From: | Dennis Grevenstein | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 15:34:25 GMT |
|
|
 | Urs Janssen wrote: > hey, der produziert jetzt sogar lauffaehigen code.
Und was ist das tolle an diesem Compiler wenn man fragen darf?
mfg Dennis
-- Top Ten signs that you are a VAX geek:
9. When talking about building software you make reference to compilation times in weeks and days instead of minutes and seconds.
|
|
 | | From: | Urs Janßen | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 16:20:20 GMT |
|
|
 | In , Dennis Grevenstein wrote: > Und was ist das tolle an diesem Compiler wenn man fragen darf?
er ist verdammt schnell und klein.
|
|
 | | From: | Enrik Berkhan | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | Wed, 10 Nov 2004 16:49:13 +0000 (UTC) |
|
|
 | Urs Janßen wrote: > In , Dennis Grevenstein wrote: >> Und was ist das tolle an diesem Compiler wenn man fragen darf? > er ist verdammt schnell und klein.
Der Compiler oder der erzeugte Code oder beides? ,-)
Gruß, Enrik
|
|
 | | From: | Sven Paulus | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 18:03:37 +0100 |
|
|
 | Enrik Berkhan wrote: >> er ist verdammt schnell und klein. > Der Compiler oder der erzeugte Code oder beides? ,-)
Die letzteren zwei Dinge eher nicht:
$ gcc -o dhry dhry.c $ ls -l dhry -rwxr-xr-x 1 sp users 15429 Nov 10 18:02 dhry $ ./dhry Dhrystone time for 50000000 passes = 27 This machine benchmarks at 1851851 dhrystones/second $ gcc -O2 -o dhry dhry.c $ ls -l dhry -rwxr-xr-x 1 sp users 15395 Nov 10 18:02 dhry $ ./dhry Dhrystone time for 50000000 passes = 15 This machine benchmarks at 3333333 dhrystones/second $ tcc -o dhry dhry.c $ ls -l dhry -rwxr-xr-x 1 sp users 5440 Nov 10 18:03 dhry $ ./dhry Dhrystone time for 50000000 passes = 27 This machine benchmarks at 1851851 dhrystones/second $ tcc -O2 -o dhry dhry.c $ ls -l dhry -rwxr-xr-x 1 sp users 5440 Nov 10 18:03 dhry $ ./dhry Dhrystone time for 50000000 passes = 26 This machine benchmarks at 1923076 dhrystones/second
Ersteres schon:
$ time gcc -o dhry dhry.c real 0m0.113s user 0m0.080s sys 0m0.020s
$ time tcc -o dhry dhry.c real 0m0.009s user 0m0.010s sys 0m0.000s
|
|
 | | From: | Urs Janßen | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 27 Oct 2004 20:54:02 GMT |
|
|
 | In , Urs Janssen wrote: > hey, der produziert jetzt sogar lauffaehigen code.
naja, aber configure hat noch ein paar probleme damit, HAVE_SNPRINTF HAVE_MKSTEMP und HAVE_SETLOCALE werden nicht defined (obwohl verfuegbar) was zu "unschoenen" effekten fuehren kann. haendisches definen in include/autoconf.h hilft.
chao% time make #tcc-0.9.21 -g [...] make 2.82s user 0.61s system 87% cpu 3.927 total
chao% time make #gcc-3.3.5 -g -O0 -pipe [...] make 17.60s user 1.70s system 99% cpu 19.488 total
|
|
 | | From: | Urs Janßen | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 00:57:01 GMT |
|
|
 | Urs Janßen wrote: >> hey, der produziert jetzt sogar lauffaehigen code. > naja, aber configure hat noch ein paar probleme damit, HAVE_SNPRINTF > HAVE_MKSTEMP und HAVE_SETLOCALE werden nicht defined (obwohl > verfuegbar) was zu "unschoenen" effekten fuehren kann. haendisches > definen in include/autoconf.h hilft. > > chao% time make #tcc-0.9.21 -g > [...] > make 2.82s user 0.61s system 87% cpu 3.927 total
so, bei tcc-0.9.22 waren die HAVE_SNPRINTF/HAVE_MKSTEMP/HAVE_SETLOCALE klimmzuege auch nicht mehr noetig und nen tick schneller isser auch geworden: make 2.16s user 0.58s system 85% cpu 3.200 total
|
|
 | | From: | Sven Paulus | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 12:42:01 +0100 |
|
|
 | Urs Jan=DFen wrote: > so, bei tcc-0.9.22 waren die HAVE_SNPRINTF/HAVE_MKSTEMP/HAVE_SETLOCALE > klimmzuege auch nicht mehr noetig und nen tick schneller isser auch gewo= rden: > make 2.16s user 0.58s system 85% cpu 3.200 total
Hm, mal wieder alloca:
~/tin-1.7.7$ grep CC conf-tin CC=3D"tcc" echo "Making with $CC $CFLAGS" CC=3D"$CC" \
~/tin-1.7.7$ make build make[1]: Entering directory /var/home/sp/tin-1.7.7/src' make[1]: *** No rule to make target `alloca.o', needed by `tin'. Stop. make[1]: Leaving directory /var/home/sp/tin-1.7.7/src' make: [build] Error 2 (ignored)
~/tin-1.7.7$ tcc -v tcc version 0.9.22
~/tin-1.7.7$ uname -a Linux x 2.6.8-1-686-smp #1 SMP Thu Oct 7 01:53:29 EDT 2004 i686 GNU/Linux
In src/Makefile:
OFILES =3D alloca.o $(EXTRAOBJS) \ $(OBJDIR)/active$o \ $(OBJDIR)/art$o \
Ein alloca.c gibt's aber nicht?!
|
|
 | | From: | Urs Janßen | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 12:17:50 GMT |
|
|
 | In , Sven Paulus wrote: > > so, bei tcc-0.9.22 waren die HAVE_SNPRINTF/HAVE_MKSTEMP/HAVE_SETLOCALE > > klimmzuege auch nicht mehr noetig und nen tick schneller isser auch geworden: > > make 2.16s user 0.58s system 85% cpu 3.200 total > > Hm, mal wieder alloca:
deswegen nimmt man ja byacc anstelle von bison.
[] | i686-pc-linux-gnu tcc 0.9.22 1.7.6 release 20040906 glibc 2.3.2, [4] [...] | [4] alloca(3) detection fails, remove alloca.o from src/Makefile before | compiling or use byacc instead of bison as parser generator
> In src/Makefile: > > OFILES = alloca.o $(EXTRAOBJS) \ > $(OBJDIR)/active$o \ > $(OBJDIR)/art$o \ > > Ein alloca.c gibt's aber nicht?!
du darfst gern mal eins bauen. in src/ wird es nur benoetigt wenn parsdate.y von bison uebersetzt wird. in intl/ muesste man den code etwas umsticken.
urs -- Jef Poskanzer: "When people aren't stupid Usenet is even more useful. Too bad this happens so rarely."
|
|
 | | From: | Sven Paulus | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 14:08:25 +0100 |
|
|
 | Urs Jan=DFen wrote: > deswegen nimmt man ja byacc > anstelle von bison.
Hm, wer hat denn _den_? Und mit gcc klappt's ja, der hat seinen eingebauten alloca(), nur tcc nicht. Irgendwie bloede.
Mit YACC=3D"byacc" klappt's aber nun:
~/tin-1.4.7/src$ time make -j > /dev/null ../art.c:782: warning: assignment discards qualifiers from pointer target t= ype ../nrctbl.c:79: warning: assignment makes pointer from integer without a ca= st ../nrctbl.c:122: warning: assignment makes pointer from integer without a c= ast byacc: 6 shift/reduce conflicts. ../config.c:667: warning: assignment makes pointer from integer without a c= ast ../config.c:1718: warning: assignment makes pointer from integer without a = cast
real 0m0.483s user 0m1.295s sys 0m0.426s
Beachtlich, so schnell habe ich noch keinen tin compiliert, unter einen halben Sekunde. Auch aktuelle sind noch recht flink:
$ time make -j > /dev/null byacc: 6 shift/reduce conflicts. ar: creating libpcre.a
real 0m0.870s user 0m2.344s sys 0m0.711s
|
|
 | | From: | Urs Janßen | | Subject: | Re: tcc version 0.9.21 - test - ignore no - reply | | Date: | 10 Nov 2004 16:30:29 GMT |
|
|
 | In , Sven Paulus wrote: > > deswegen nimmt man ja byacc > > anstelle von bison. > Hm, wer hat denn _den_?
es gibt ein debian package und IIRC gabs auch nen suse-rpm.
> Und mit gcc klappt's ja, der hat seinen eingebauten alloca(), nur > tcc nicht. Irgendwie bloede.
bison ist ein haufen scheisse weil es code erzeugt der alloca benoetigt. lcc und tcc fallen damit auf die schnautze weil sie das nicht tun. ausserdem haben tendra und lcc mit dem von bison erzeugten code ein problem. nimmt man anstelle von bison byacc loesen sich all diese probleme in luft auf.
> Mit YACC="byacc" klappt's aber nun: > > ~/tin-1.4.7/src$ time make -j > /dev/null > ./art.c:782: warning: assignment discards qualifiers from pointer target type > ./nrctbl.c:79: warning: assignment makes pointer from integer without a cast > ./nrctbl.c:122: warning: assignment makes pointer from integer without a cast > byacc: 6 shift/reduce conflicts. > ./config.c:667: warning: assignment makes pointer from integer without a cast > ./config.c:1718: warning: assignment makes pointer from integer without a cast
den 1.4er code guck ich nicht mehr an - ausserdem war nrctbl.c deine baustelle :-p
|
|