From: Bruno H. <br...@cl...> - 2017-03-04 09:42:28
|
Hi Don, > I think I can guess which ones work from this: > -rw-rw-r--. 1 don don 5372 Mar 3 20:41 build-porting64-gcc-generational_gc-multithread_gc/cbcstep3.log > -rw-rw-r--. 1 don don 5116 Mar 3 20:40 build-porting64-gcc-generational_gc-old_gc/cbcstep3.log > -rw-rw-r--. 1 don don 3042294 Mar 3 20:22 build-porting64-gcc-generic64_heapcodes/cbcstep3.log > -rw-rw-r--. 1 don don 3037594 Mar 3 20:17 build-porting64-gcc-heapcodes/cbcstep3.log > -rw-rw-r--. 1 don don 3046443 Mar 3 20:32 build-porting64-gcc-heapcodes-spvw_mixed_blocks/cbcstep3.log > -rw-rw-r--. 1 don don 3043261 Mar 3 20:26 build-porting64-gcc-heapcodes-spvw_pages/cbcstep3.log > -rw-rw-r--. 1 don don 4860 Mar 3 20:39 build-porting64-gcc-multithread_gc/cbcstep3.log > -rw-rw-r--. 1 don don 4604 Mar 3 20:38 build-porting64-gcc-old_gc/cbcstep3.log > -rw-rw-r--. 1 don don 4636 Mar 3 20:42 build-porting64-gcc-safety0/cbcstep3.log > -rw-rw-r--. 1 don don 4983 Mar 3 20:43 build-porting64-gcc-safety0-optimized/cbcstep3.log > -rw-rw-r--. 1 don don 4636 Mar 3 20:14 build-porting64-gcc-safety3/cbcstep3.log > -rw-rw-r--. 1 don don 3040627 Mar 3 20:37 build-porting64-gcc-spvw_pure_blocks/cbcstep3.log > -rw-rw-r--. 1 don don 3041797 Mar 3 20:20 build-porting64-gcc-standard_heapcodes/cbcstep3.log > -rw-rw-r--. 1 don don 3046009 Mar 3 20:34 build-porting64-gcc-typecodes-spvw_mixed_blocks/cbcstep3.log > -rw-rw-r--. 1 don don 3042770 Mar 3 20:29 build-porting64-gcc-typecodes-spvw_pages/cbcstep3.log Yup. Same thing here; the exact file sizes may vary a bit. > Next steps? Depends on what you want to do. - The set of builds that failed gives you an understanding which features caused regressions. In this case it's evident: forcing HEAPCODES worked, forcing TYPECODES worked, but the default choice did not work. - If you are interested in continuous integration, you may want to set up build scripts that use 'multibuild-porting64-gcc' and signal regressions in any of the build configurations. This would be useful for Sam and me. - If you are interested in a build that works, choose one of those with a large cbcstep3.log. - If you want to know about the performance: Since "make check" runs the benchmarks, in particular, the log file contains the benchmark results. You can compare them: $ grep '^total .* scaled$' */cbcstep3.log | tr : '\t' | expand -t 65 build-porting32-gcc-heapcodes/cbcstep3.log total 9.93600 sec 12.48954 scaled build-porting64-gcc-heapcodes/cbcstep3.log total 10.46000 sec 13.25959 scaled build-porting64-gcc-heapcodes-spvw_mixed_blocks/cbcstep3.log total 10.34000 sec 13.07827 scaled build-porting64-gcc-heapcodes-spvw_pages/cbcstep3.log total 12.67200 sec 16.27370 scaled build-porting64-gcc-standard_heapcodes/cbcstep3.log total 10.12000 sec 12.93405 scaled build-porting64-gcc-typecodes-spvw_mixed_blocks/cbcstep3.log total 10.59200 sec 13.69968 scaled build-porting64-gcc-typecodes-spvw_pages/cbcstep3.log total 13.44000 sec 17.30458 scaled What this tells me, is that - A 32-bit build is faster than a 64-bit build. (Not surprising: Larger pointers means more use of memory, and a factor S more memory means a factor S² more runtime - usual rule of thumb.) - SPVW_PAGES is significantly slower than SPVW_BLOCKS. - TYPECODES is a bit slower than HEAPCODES. (I find this surprising.) > I guess you'd like them all to work, right? Yes, this is the goal. Bruno |