{"title":"GCC和LLVM在EISC处理器上的性能比较","authors":"Chanhyun Park, Miseon Han, Hokyoon Lee, S. Kim","doi":"10.1109/ELINFOCOM.2014.6914394","DOIUrl":null,"url":null,"abstract":"In embedded systems, code size and dynamic instruction count are important performance indicators of power consumption and execution time. However, the use of different compilers may result in large different performance values even if a target machine is the same. So, the compiler selection in the system development is very important. In this paper, we compare the performances of two popular compilers, GCC and LLVM in perspective of the code size and the dynamic instruction count for the EISC embedded processor. Our comparison shows that LLVM is good at optimizing calculation intensive benchmarks, and GCC performs register allocation and jump optimization better. Overall, the GCC compiler shows better performance in most EEMBC benchmarks about 18% on average in terms of dynamic instruction. Also, the compiled code size by GCC is smaller than that of LLVM by 4% on average.","PeriodicalId":360207,"journal":{"name":"2014 International Conference on Electronics, Information and Communications (ICEIC)","volume":"434 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Performance comparison of GCC and LLVM on the EISC processor\",\"authors\":\"Chanhyun Park, Miseon Han, Hokyoon Lee, S. Kim\",\"doi\":\"10.1109/ELINFOCOM.2014.6914394\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In embedded systems, code size and dynamic instruction count are important performance indicators of power consumption and execution time. However, the use of different compilers may result in large different performance values even if a target machine is the same. So, the compiler selection in the system development is very important. In this paper, we compare the performances of two popular compilers, GCC and LLVM in perspective of the code size and the dynamic instruction count for the EISC embedded processor. Our comparison shows that LLVM is good at optimizing calculation intensive benchmarks, and GCC performs register allocation and jump optimization better. Overall, the GCC compiler shows better performance in most EEMBC benchmarks about 18% on average in terms of dynamic instruction. Also, the compiled code size by GCC is smaller than that of LLVM by 4% on average.\",\"PeriodicalId\":360207,\"journal\":{\"name\":\"2014 International Conference on Electronics, Information and Communications (ICEIC)\",\"volume\":\"434 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-10-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2014 International Conference on Electronics, Information and Communications (ICEIC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ELINFOCOM.2014.6914394\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 International Conference on Electronics, Information and Communications (ICEIC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ELINFOCOM.2014.6914394","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Performance comparison of GCC and LLVM on the EISC processor
In embedded systems, code size and dynamic instruction count are important performance indicators of power consumption and execution time. However, the use of different compilers may result in large different performance values even if a target machine is the same. So, the compiler selection in the system development is very important. In this paper, we compare the performances of two popular compilers, GCC and LLVM in perspective of the code size and the dynamic instruction count for the EISC embedded processor. Our comparison shows that LLVM is good at optimizing calculation intensive benchmarks, and GCC performs register allocation and jump optimization better. Overall, the GCC compiler shows better performance in most EEMBC benchmarks about 18% on average in terms of dynamic instruction. Also, the compiled code size by GCC is smaller than that of LLVM by 4% on average.