[MLton-commit] r7112

Matthew Fluet fluet at mlton.org
Wed Jun 10 20:22:58 PDT 2009


Drop gcc inlining flags.

Recent versions of gcc give inlining warnings even with absurdly high
values for the inlining flags.  Furthermore, the current values of the
inlining flags appear to have no significant affect on garbage
collector performance relative to gcc's default inlining behavior;
indeed, where there seems to be a difference, using gcc's default
inlining behavior gives shorter total GC time and percentage.

Benchmark: HaMLeT 1.3.1 executing (4^4)^3 via Peano arithmetic

x86-darwin (MacOSX 10.4; gcc 4.0.1)

w/ inlining flags (average over 5 runs)
GC type         time ms  number           bytes       bytes/sec
-------------   ------- ------- --------------- ---------------
copying             309      15      77,512,076     251,010,609
mark-compact      5,910       5     668,061,784     113,035,394
minor            15,340     156   1,475,333,508      96,174,333
total time: 73,077 ms
total GC time: 22,450 ms (30.7%)
max pause time: 1,981 ms
total bytes allocated: 16,713,121,556 bytes
max bytes live: 232,919,556 bytes
max heap size: 532,701,184 bytes
max stack size: 28,049,408 bytes
num cards marked: 158
bytes scanned: 4,375,728,144 bytes
bytes hash consed: 0 bytes

w/o inlining flags (average over 5 runs)
GC type         time ms  number           bytes       bytes/sec
-------------   ------- ------- --------------- ---------------
copying             309      15      77,512,076     250,523,840
mark-compact      5,888       5     668,061,784     113,469,289
minor            14,472     156   1,475,333,508     101,943,996
total time: 71,258 ms
total GC time: 21,537 ms (30.2%)
max pause time: 1,970 ms
total bytes allocated: 16,713,121,564 bytes
max bytes live: 232,919,556 bytes
max heap size: 532,701,184 bytes
max stack size: 28,049,408 bytes
num cards marked: 158
bytes scanned: 4,375,728,144 bytes
bytes hash consed: 0 bytes

amd64-linux (Fedora 10; gcc 4.3.2)

w/ inlining flags (average over 5 runs)
GC type         time ms  number           bytes       bytes/sec
-------------   ------- ------- --------------- ---------------
copying             649      18     199,059,544     306,906,482
mark-compact     16,615       9   2,504,372,360     150,729,603
minor            31,781     250   3,837,071,244     120,734,755
total time: 172,137 ms
total GC time: 49,820 ms (28.9%)
max pause time: 2,599 ms
total bytes allocated: 33,164,279,424 bytes
max bytes live: 413,892,560 bytes
max heap size: 799,055,872 bytes
max stack size: 53,477,376 bytes
num cards marked: 256
bytes scanned: 13,208,961,000 bytes
bytes hash consed: 0 bytes

w/o inlining flags (average over 5 runs)
GC type         time ms  number           bytes       bytes/sec
-------------   ------- ------- --------------- ---------------
copying             630      18     199,059,544     315,967,530
mark-compact     16,700       9   2,504,372,360     149,964,213
minor            29,496     250   3,837,071,244     130,087,850
total time: 170,213 ms
total GC time: 47,606 ms (28.0%)
max pause time: 2,615 ms
total bytes allocated: 33,164,279,432 bytes
max bytes live: 413,892,560 bytes
max heap size: 799,055,872 bytes
max stack size: 53,477,376 bytes
num cards marked: 256
bytes scanned: 13,208,961,000 bytes
bytes hash consed: 0 bytes
----------------------------------------------------------------------

U   mlton/trunk/runtime/Makefile

----------------------------------------------------------------------

Modified: mlton/trunk/runtime/Makefile
===================================================================
--- mlton/trunk/runtime/Makefile	2009-06-11 03:22:56 UTC (rev 7111)
+++ mlton/trunk/runtime/Makefile	2009-06-11 03:22:58 UTC (rev 7112)
@@ -57,13 +57,7 @@
 
 ifeq ($(TARGET_ARCH), amd64)
 FLAGS += -m64
-ifeq (3.4, $(firstword $(sort $(GCC_VERSION) 3.4)))
-GCOPTFLAGS += --param inline-unit-growth=100
-GCOPTFLAGS += --param max-inline-insns-single=1000
-GCOPTFLAGS += --param large-function-growth=1000
-endif
 DEBUGFLAGS += -gstabs+
-OPTWARNFLAGS += -Winline
 endif
 
 ifeq ($(findstring $(TARGET_ARCH), hppa ia64 powerpc sparc),$(TARGET_ARCH))
@@ -94,14 +88,6 @@
 else
 OPTFLAGS += -malign-loops=2 -malign-jumps=2 -malign-functions=5
 endif
-ifeq (3.3, $(firstword $(sort $(GCC_MAJOR_VERSION) 3.3)))
-GCOPTFLAGS += --param max-inline-insns-single=1000
-ifeq (3.4, $(firstword $(sort $(GCC_MAJOR_VERSION) 3.4)))
-GCOPTFLAGS += --param inline-unit-growth=200
-GCOPTFLAGS += --param large-function-growth=2200
-OPTWARNFLAGS += -Winline
-endif
-endif
 DEBUGFLAGS += -gstabs+
 endif
 




More information about the MLton-commit mailing list