texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Texmacs-dev] [Announce] nogencc-0.7


From: David Allouche
Subject: [Texmacs-dev] [Announce] nogencc-0.7
Date: Mon, 6 May 2002 01:17:57 +0200

Now, I have a version which does work and compiles generally faster than 
the official version. I cannot take care of further developments without 
help.

What is new:

  Faster compilation.

  Added rename4diff script.

  Fixed "no newline at end of file" errors.

  New options for high optimization compilation style.

  Fixed AGGREGATE compilation style to use a different .rpo file for
  instancations.cc than the SEPARATE compilation style.

  Tested compilation with official gcc-2.95.3.


What still does no work:

  I was unable to statically link the official distribution (either
  1.0.0.1 or 1.0.0.3), so I cannot work at statically linking my version.

The error message is:
/home/david/Desktop/TeXmacs/TeXmacs-1.0.0.1-src/TeXmacs-1.0.0.1/lib/libbasic.a(misc.o):
 
In function `eval_system(string)':
misc.o(.text+0x8c68): the use of `tmpnam' is dangerous, better use 
`mkstemp'
/usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_link':
dynl.o(.text+0x394): undefined reference to `lt_dlopenext'
dynl.o(.text+0x3db): undefined reference to `lt_dlerror'
/usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_unlink':
dynl.o(.text+0x432): undefined reference to `lt_dlclose'
dynl.o(.text+0x475): undefined reference to `lt_dlerror'
/usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_func':
dynl.o(.text+0x4a5): undefined reference to `lt_dlsym'
dynl.o(.text+0x4e5): undefined reference to `lt_dlerror'
/usr/lib/libguile.a(dynl.o): In function `sysdep_dynl_init':
dynl.o(.text+0x50c): undefined reference to `lt_dlinit'
collect2: ld returned 1 exit status

  I was unable to compile gcc-2.95.2, so I could not test compilation
  with that version.

The error message is:
/usr/local/src/gcc-2.95.2/objdir/gcc/xgcc 
-B/usr/local/src/gcc-2.95.2/objdir/gcc/ 
-B/usr/local/gcc-2.95.2/i686-pc-linux-gnu/bin/ -c -g -O2 -fvtable-thunks 
-D_GNU_SOURCE -fno-implicit-templates -I. -I../../../libio -nostdinc++ 
-D_IO_MTSAFE_IO ../../../libio/indstream.cc
../../../libio/indstream.cc: In method `struct streampos 
indirectbuf::seekoff(long long int, ios::seek_dir, int = 3)':
../../../libio/indstream.cc:82: `struct streampos' used where a `int' was 
expected
../../../libio/indstream.cc:85: `struct streampos' used where a `int' was 
expected
../../../libio/indstream.cc:87: `struct streampos' used where a `int' was 
expected
../../../libio/indstream.cc:89: conversion from `int' to non-scalar type 
`streampos' requested
../../../libio/indstream.cc: In method `struct streampos 
indirectbuf::seekpos(_G_fpos64_t, int = 3)':
../../../libio/indstream.cc:99: `struct streampos' used where a `int' was 
expected
../../../libio/indstream.cc:102: `struct streampos' used where a `int' 
was expected
../../../libio/indstream.cc:104: `struct streampos' used where a `int' 
was expected
../../../libio/indstream.cc:106: conversion from `int' to non-scalar type 
`streampos' requested
make[1]: *** [indstream.o] Error 1

  I have no access to platforms other than Intel-Linux, so I cannot test
  compilation on those platforms.


Compilation benchmarks:

The compiler used is gcc-2.95.3 (official).

The mesure does not include the generation of support files, like 
dependence analysis, and first pass compilation to generate the .rpo 
files (.rpo are included in the distribution anyway).

The reference compilation time was mesured with the MIXED target.

The given time is the value of user time provided by the time command.

dialect = -fno-exceptions -fno-rtti
optim=none    -->  $(dialect)
optim=medium  -->  -O2 $(dialect)
optim=high    -->  -O3 -fexpensive-optimizations -malign-loops=2
                   -malign-jumps=2 -malign-functions=2 $(dialect)

      version \ optim | none       medium     high
----------------------+-------------------------------
     TeXmacs-1.0.0.1  | 1m42.93s   7m30.58s   7m55.31s
nogencc-0.7  SEPARATE | 2m25.21s   7m20.42s   7m25.97s
nogencc-0.7 AGGREGATE | 1m14.39s   6m12.34s   6m38.16s
SEPARATE -- AGGREGATE |   70.82s     68.08s     47.81s

And delta relative to official version:

      version \ optim | none     medium     high
----------------------+--------------------------
nogencc-0.7  SEPARATE | + 41 %   -  2 %   -  6 %
nogencc-0.7 AGGREGATE | - 28 %   - 17 %   - 16 %

So, the nogencc version is always faster to compile than the official 
version in AGGREGATE compilation. SEPARATE compilation introduces an 
overhead of about one minute.


I will need assistance to support STATIC compilation and foreign 
platforms.
-- 

                                  -- David --



reply via email to

[Prev in Thread] Current Thread [Next in Thread]