common/autoconf/build-performance.m4

changeset 717
e247ee3924d5
parent 635
907a926d3c96
child 724
33b6df33a2b7
equal deleted inserted replaced
715:cb51fb4789ac 717:e247ee3924d5
276 ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA]) 276 ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA])
277 SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA" 277 SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA"
278 fi 278 fi
279 AC_SUBST(SJAVAC_SERVER_JAVA) 279 AC_SUBST(SJAVAC_SERVER_JAVA)
280 280
281 AC_ARG_WITH(sjavac-server-cores, [AS_HELP_STRING([--with-sjavac-server-cores], 281 if test "$MEMORY_SIZE" -gt "2500"; then
282 [use at most this number of concurrent threads on the sjavac server @<:@probed@:>@])]) 282 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
283 if test "x$with_sjavac_server_cores" != x; then 283 if test "$JVM_ARG_OK" = true; then
284 SJAVAC_SERVER_CORES="$with_sjavac_server_cores" 284 JVM_64BIT=true
285 else 285 JVM_ARG_OK=false
286 if test "$NUM_CORES" -gt 16; then 286 fi
287 # We set this arbitrary limit because we want to limit the heap 287 fi
288 # size of the javac server. 288
289 # In the future we will make the javac compilers in the server 289 if test "$JVM_64BIT" = true; then
290 # share more and more state, thus enabling us to use more and
291 # more concurrent threads in the server.
292 SJAVAC_SERVER_CORES="16"
293 else
294 SJAVAC_SERVER_CORES="$NUM_CORES"
295 fi
296
297 if test "$MEMORY_SIZE" -gt "17000"; then 290 if test "$MEMORY_SIZE" -gt "17000"; then
298 MAX_HEAP_MEM=10000
299 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
300 ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 291 ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
301 elif test "$MEMORY_SIZE" -gt "10000"; then 292 fi
302 MAX_HEAP_MEM=6000 293 if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then
303 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
304 ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 294 ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
305 elif test "$MEMORY_SIZE" -gt "5000"; then 295 fi
306 MAX_HEAP_MEM=3000 296 if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then
307 ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
308 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 297 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
309 elif test "$MEMORY_SIZE" -gt "3800"; then 298 fi
310 MAX_HEAP_MEM=2500 299 if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then
311 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 300 ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
312 elif test "$MEMORY_SIZE" -gt "1900"; then 301 fi
313 MAX_HEAP_MEM=1200 302 fi
314 ADD_JVM_ARG_IF_OK([-Xms700M -Xmx1400M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 303 if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
315 elif test "$MEMORY_SIZE" -gt "1000"; then 304 ADD_JVM_ARG_IF_OK([-Xms1000M -Xmx1500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
316 MAX_HEAP_MEM=900 305 fi
317 ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 306 if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
318 else 307 ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
319 MAX_HEAP_MEM=512 308 fi
320 ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA]) 309 if test "$JVM_ARG_OK" = false; then
321 fi 310 ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
322 311 fi
323 ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
324 ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
325 ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
326
327 MAX_COMPILERS_IN_HEAP=`expr $MAX_HEAP_MEM / 501`
328 if test "$SJAVAC_SERVER_CORES" -gt "$MAX_COMPILERS_IN_HEAP"; then
329 AC_MSG_CHECKING([if number of server cores must be reduced])
330 SJAVAC_SERVER_CORES="$MAX_COMPILERS_IN_HEAP"
331 AC_MSG_RESULT([yes, to $SJAVAC_SERVER_CORES with max heap size $MAX_HEAP_MEM MB])
332 fi
333 fi
334 AC_SUBST(SJAVAC_SERVER_CORES)
335 312
336 AC_MSG_CHECKING([whether to use sjavac]) 313 AC_MSG_CHECKING([whether to use sjavac])
337 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac], 314 AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
338 [use sjavac to do fast incremental compiles @<:@disabled@:>@])], 315 [use sjavac to do fast incremental compiles @<:@disabled@:>@])],
339 [ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no']) 316 [ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no'])

mercurial