C:\Work>cl /c /O2 checker.c Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30138 for x64 Copyright (C) Microsoft Corporation. All rights reserved. checker.c C:\Work>cl /c /O2 memtest.c Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30138 for x64 Copyright (C) Microsoft Corporation. All rights reserved. memtest.c C:\Work>cl memtest.obj checker.obj Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30138 for x64 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Incremental Linker Version 14.29.30138.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:memtest.exe memtest.obj checker.obj C:\Work>memtest 1000000 objects of 10 bytes : 0.071 us per object 1000000 objects of 20 bytes : 0.078 us per object 1000000 objects of 30 bytes : 0.092 us per object 1000000 objects of 40 bytes : 0.098 us per object 2000000 objects of 10 bytes : 0.071 us per object 2000000 objects of 20 bytes : 0.079 us per object 2000000 objects of 30 bytes : 0.092 us per object 2000000 objects of 40 bytes : 0.098 us per object 3000000 objects of 10 bytes : 0.072 us per object 3000000 objects of 20 bytes : 0.079 us per object 3000000 objects of 30 bytes : 0.092 us per object 3000000 objects of 40 bytes : 0.099 us per object 4000000 objects of 10 bytes : 0.072 us per object 4000000 objects of 20 bytes : 0.080 us per object 4000000 objects of 30 bytes : 0.093 us per object 4000000 objects of 40 bytes : 0.099 us per object 10 objects of 1000000 bytes : 990.000 us per object C:\Work>gcc -Wall -c -O3 checker.c -o checker.obj C:\Work>gcc -Wall -c -O3 memtest.c -o memtest.obj C:\Work>gcc memtest.obj checker.obj -o memtest.exe C:\Work>memtest 1000000 objects of 10 bytes : 0.071 us per object 1000000 objects of 20 bytes : 0.073 us per object 1000000 objects of 30 bytes : 0.083 us per object 1000000 objects of 40 bytes : 0.084 us per object 2000000 objects of 10 bytes : 0.072 us per object 2000000 objects of 20 bytes : 0.072 us per object 2000000 objects of 30 bytes : 0.084 us per object 2000000 objects of 40 bytes : 0.084 us per object 3000000 objects of 10 bytes : 0.073 us per object 3000000 objects of 20 bytes : 0.073 us per object 3000000 objects of 30 bytes : 0.085 us per object 3000000 objects of 40 bytes : 0.085 us per object 4000000 objects of 10 bytes : 0.073 us per object 4000000 objects of 20 bytes : 0.073 us per object 4000000 objects of 30 bytes : 0.085 us per object 4000000 objects of 40 bytes : 0.086 us per object 10 objects of 1000000 bytes : 310.000 us per object C:\Work>javac -cp . Checker.java C:\Work>javac -cp . MemTest.java C:\Work>java -server -XX:+UseSerialGC -cp . MemTest 1000000 objects of 10 bytes : 0.025 us per object 1000000 objects of 20 bytes : 0.031 us per object 1000000 objects of 30 bytes : 0.036 us per object 1000000 objects of 40 bytes : 0.075 us per object 2000000 objects of 10 bytes : 0.048 us per object 2000000 objects of 20 bytes : 0.049 us per object 2000000 objects of 30 bytes : 0.051 us per object 2000000 objects of 40 bytes : 0.076 us per object 3000000 objects of 10 bytes : 0.060 us per object 3000000 objects of 20 bytes : 0.059 us per object 3000000 objects of 30 bytes : 0.060 us per object 3000000 objects of 40 bytes : 0.079 us per object 4000000 objects of 10 bytes : 0.050 us per object 4000000 objects of 20 bytes : 0.066 us per object 4000000 objects of 30 bytes : 0.079 us per object 4000000 objects of 40 bytes : 0.080 us per object 10 objects of 1000000 bytes : 774.710 us per object C:\Work>java -server -XX:+UseParallelGC -cp . MemTest 1000000 objects of 10 bytes : 0.017 us per object 1000000 objects of 20 bytes : 0.022 us per object 1000000 objects of 30 bytes : 0.027 us per object 1000000 objects of 40 bytes : 0.032 us per object 2000000 objects of 10 bytes : 0.016 us per object 2000000 objects of 20 bytes : 0.021 us per object 2000000 objects of 30 bytes : 0.026 us per object 2000000 objects of 40 bytes : 0.031 us per object 3000000 objects of 10 bytes : 0.016 us per object 3000000 objects of 20 bytes : 0.020 us per object 3000000 objects of 30 bytes : 0.025 us per object 3000000 objects of 40 bytes : 0.031 us per object 4000000 objects of 10 bytes : 0.015 us per object 4000000 objects of 20 bytes : 0.020 us per object 4000000 objects of 30 bytes : 0.025 us per object 4000000 objects of 40 bytes : 0.030 us per object 10 objects of 1000000 bytes : 908.300 us per object C:\Work>java -server -XX:+UseG1GC -cp . MemTest 1000000 objects of 10 bytes : 0.048 us per object 1000000 objects of 20 bytes : 0.080 us per object 1000000 objects of 30 bytes : 0.080 us per object 1000000 objects of 40 bytes : 0.094 us per object 2000000 objects of 10 bytes : 0.066 us per object 2000000 objects of 20 bytes : 0.081 us per object 2000000 objects of 30 bytes : 0.088 us per object 2000000 objects of 40 bytes : 0.094 us per object 3000000 objects of 10 bytes : 0.062 us per object 3000000 objects of 20 bytes : 0.069 us per object 3000000 objects of 30 bytes : 0.086 us per object 3000000 objects of 40 bytes : 0.087 us per object 4000000 objects of 10 bytes : 0.055 us per object 4000000 objects of 20 bytes : 0.068 us per object 4000000 objects of 30 bytes : 0.078 us per object 4000000 objects of 40 bytes : 0.085 us per object 10 objects of 1000000 bytes : 1131.400 us per object C:\Work>java -server -XX:+UseConcMarkSweepGC -cp . MemTest OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in ve rsion 9.0 and will likely be removed in a future release. 1000000 objects of 10 bytes : 0.030 us per object 1000000 objects of 20 bytes : 0.035 us per object 1000000 objects of 30 bytes : 0.041 us per object 1000000 objects of 40 bytes : 0.095 us per object 2000000 objects of 10 bytes : 0.065 us per object 2000000 objects of 20 bytes : 0.062 us per object 2000000 objects of 30 bytes : 0.065 us per object 2000000 objects of 40 bytes : 0.116 us per object 3000000 objects of 10 bytes : 0.088 us per object 3000000 objects of 20 bytes : 0.087 us per object 3000000 objects of 30 bytes : 0.087 us per object 3000000 objects of 40 bytes : 0.113 us per object 4000000 objects of 10 bytes : 0.075 us per object 4000000 objects of 20 bytes : 0.099 us per object 4000000 objects of 30 bytes : 0.095 us per object 4000000 objects of 40 bytes : 0.118 us per object 10 objects of 1000000 bytes : 1315.400 us per object