texmacs-dev
[Top][All Lists]
Advanced

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

[Texmacs-dev] Boehm-gc-texmacs cache behavior


From: David MENTRE
Subject: [Texmacs-dev] Boehm-gc-texmacs cache behavior
Date: Sun, 23 May 2004 20:13:29 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)

Hello,

Out of curiosity, I ran OProfile on texmacs with David's GC work.

It appears that the GC library is doing a lot of cache misses.

$ opreport event:DATA_CACHE_MISSES,DATA_CACHE_ACCESSES 'image:*gctexmacs*'
CPU: Athlon, speed 1826.52 MHz (estimated)
Counted DATA_CACHE_ACCESSES events (Data cache accesses) with a unit mask of 
0x00 (No unit mask) count 2000
Counted DATA_CACHE_MISSES events (Data cache misses) with a unit mask of 0x00 
(No unit mask) count 2000
DATA_CACHE_ACC...|DATA_CACHE_MIS...|
  samples|      %|  samples|      %|
------------------------------------
  1190291 100.000      3445 100.000 gctexmacs.bin
        DATA_CACHE_ACC...|DATA_CACHE_MIS...|
          samples|      %|  samples|      %|
        ------------------------------------
           805575 67.6788       792 22.9898 gctexmacs.bin
           176980 14.8686      1228 35.6459 libgc.so.1.0.2
            81320  6.8319       226  6.5602 libpthread-0.60.so
            68578  5.7614       709 20.5806 libguile.so.12.3.0
            45660  3.8360       286  8.3019 libc-2.3.2.so
             6262  0.5261       162  4.7025 ld-2.3.2.so
             5621  0.4722        41  1.1901 libX11.so.6.2
              267  0.0224         1  0.0290 libstdc++.so.5.0.5
               18  0.0015         0 0.0e+00 libXcursor.so.1.0.2
                2 1.7e-04         0 0.0e+00 libXrender.so.1.2.2
                1 8.4e-05         0 0.0e+00 libcrypt-2.3.2.so
                1 8.4e-05         0 0.0e+00 libdl-2.3.2.so
                1 8.4e-05         0 0.0e+00 libm-2.3.2.so
                1 8.4e-05         0 0.0e+00 xlcDef.so.2
                1 8.4e-05         0 0.0e+00 libfreetype.so.6.3.5
                1 8.4e-05         0 0.0e+00 libgccpp.so.1.0.2
                1 8.4e-05         0 0.0e+00 libltdl.so.3.1.0
                1 8.4e-05         0 0.0e+00 libqthreads.so.12.3.0

This very probably related to the increased memory consumption with the
GC, as well as looking at wide areas of memory. (I know, this is snake
oil :)

David, I suppose you can tune some parameters in Boehm GC? Have you
tried different configurations (e.g. incremental or not)?

Personally, I have activated following env parameters:
GC_INITIAL_HEAP_SIZE=64000000
GC_PRINT_STATS=
GC_PAUSE_TIME_TARGET=150
GC_ENABLE_INCREMENTAL=

Subjectively, texmacs seems to have the same interactivity but your
right, memory consumption is doubled (resident size of 74 MB against
about 35 MB for a standard texmacs). This is quite strange. Or there is
a bad side effect, like a bad interaction between libgc and guile. E.g.,
would it be possible that guile keeps pointers on memory that would have
to be reclaimed? Should Guile be also built with the GC?

Yours,
d.
-- 
 David Mentré <address@hidden>




reply via email to

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