使用gcc代替v语言的tcc编译器提高编译后二进制文件执行速度

在v语言的文档中看到它有-prod选项可以编译出执行更快的程序。

但是编译首先就通不过,原来不加-prod选项编译的时候的警告变成了错误

C:\d>vwin\v\v -prod sortlines.v -o stlines
sortlines.v:47:9: error: unused variable: `line_start`
   45 |
   46 |     mut lines := []&char{cap: max_lines}
   47 |     mut line_start := unsafe { &char(buf.str) }
      |         ~~~~~~~~~~
   48 |
   49 |     // 记录每行起始地址并将\n替换为\0

看到这个变量确实没有用,就删除了这一行,编译通过了,但提示如下,测试运行时间,和不带-prod编译的并没有区别。

C:\d>vwin\v\v -prod sortlines.v -o stlines
Note: tcc is not recommended for -prod builds

C:\d>timer64 stlines varchar.txt >vvc.txt

查看自带的帮助信息

C:\d>vwin\v\v help build

里面有这么一句

You can set it like this: `export VFLAGS="-cc clang -g"` on *nix,
`set VFLAGS=-cc msvc` on Windows.

我没有装msvc,但装了个mingw的gcc, 因此改写成

C:\d>set VFLAGS=-cc gcc

C:\d>vwin\v\v -prod sortlines.v -o stlinesgcc

C:\d>timer64 stlinesgcc varchar.txt >vvc.txt

这次运行速度加快了1秒,虽然是微小的进步,也算有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值