使用Goroutine实际上需要更长的时间才能执行

我确定我做错了什么,我有一个Go程序,该程序可以OBJ格式解析3D模型并输出json对象。在不添加goroutine的情况下运行它时,将得到以下输出:


$ go run objParser.go ak47.obj extincteur_obj.obj 

--Creating ak47.json3d from ak47.obj

--Exported 85772 faces with 89088 verticies

--Creating extincteur_obj.json3d from extincteur_obj.obj

--Exported 150316 faces with 151425 verticies

Parsed 2 files in 8.4963s

然后我添加了goroutines并得到以下输出:


$ go run objParser.go ak47.obj extincteur_obj.obj 

--Creating ak47.json3d from ak47.obj

--Creating extincteur_obj.json3d from extincteur_obj.obj

--Exported 85772 faces with 89088 verticies

--Exported 150316 faces with 151425 verticies

Parsed 2 files in 10.23137s

鉴于隔行扫描,它的打印顺序是我所期望的,但是我不知道为什么它实际上需要更长的时间!代码很长,我已尽力而为,但还是很长,对此感到抱歉!


慕田峪9158850
浏览 216回答 1
1回答

LEATH

您应该将GOMAXPROCS环境变量设置为最大可用处理器数。或在执行时使用功能GOMAXPROCS。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go