返回信息流我的PhD........
其实,只是想做出来能用的,只要1天。要想做个性能好的就麻烦了……
这是一条镜像帖。来源:北邮人论坛 / cpp / #72232同步于 2013/6/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
Re: 咨询下一个类编译器程序的实现难度
nuanyangyang
2013/6/30镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
其实我们现在借助过matlab的解释器/编译器,性能还行,但我不能每个程序发布都附带matlab软件。
通用编译器处理里面的for loop比较耗时,如果我们做特定的优化后,自定义的编译器性能即使不很好也会比通用编译器快很多的。
【 在 nuanyangyang 的大作中提到: 】
: 我的PhD........
: 其实,只是想做出来能用的,只要1天。要想做个性能好的就麻烦了……
【 在 zuozuo 的大作中提到: 】
: 其实我们现在借助过matlab的解释器/编译器,性能还行,但我不能每个程序发布都附带matlab软件。
当然不行。最关键的倒不是你能不能附带解释器,而是matlab的版权问题,你不能随便复制matlab。
: 通用编译器处理里面的for loop比较耗时,如果我们做特定的优化后,自定义的编译器性能即使不很好也会比通用编译器快很多的。
你真的不是学计算机的吗?向量化和优化……这可是我隔壁一个PhD的课题……
要不要试试一个现有的语言叫terra? http://terralang.org/ 专门为类似matlab的这种数学运算设计的,具有运行时auto tuning功能,性能很不错,而且是MIT License,商业地不开源地使用也可以。
那你就要注意移植性的问题了~如果是发布产品要配编译器的话这种项目的规模可不是一星半点的~
纯粹的编译器你还要考虑不同的芯片架构和不同的操作系统ExecutedHeader&BinUtils(当然如果你是把宿主作为一个壳,然后往指令段append的话就不用考虑这个,不过要求你对执行文件的结构有清楚的认识)。
如果仅仅是解释器,则不会有这么大的工作量!(不过如果仅仅是解释器就可以完成的工作,也没必要费时费力自己来写了吧...)
【 在 zuozuo 的大作中提到: 】
: 其实我们现在借助过matlab的解释器/编译器,性能还行,但我不能每个程序发布都附带matlab软件。
: 通用编译器处理里面的for loop比较耗时,如果我们做特定的优化后,自定义的编译器性能即使不很好也会比通用编译器快很多的。
不是同一个层次的问题。
我理解楼主需要将矩阵计算之类的科学计算编译成本地代码。而LLVM是一种类似汇编的语言。确实可以将计算代码编译成LLVM然后编译成本地代码,但是还要自己写编译器。
terra本身是一个高级语言,terra也是建立在LLVM之上的。
【 在 Guilt 的大作中提到: 】
: 无责任回答。。llvm是不是可以解决类似问题。。