有哪些语言特性或者说编程方式更利于多核并行?

2015-05-12 13:39:01 +08:00
 phx13ye
现在的CPU核心堆的越来越多, 跑分也越来越强, 但是总感觉程序使用体验没有提升.

举例来说: 我现在用的爪机是联发科的八核6752, 大部分程序的体验还是和以前手机差不多(忘了是高通的什么了, 好像是胶水双核的). 可能比较明显的就是解压缩,安装APP快了

电脑玩游戏, 帧数提升也是换显卡比换CPU大, 当然这里瓶颈也主要是IO和渲染.

所谓的多核优化, 到底是什么决定的?
4912 次点击
所在节点    程序员
35 条回复
northisland
2015-05-12 13:47:13 +08:00
for循环并行处理
lucifer4he
2015-05-12 13:48:35 +08:00
openCL
xbaofeng
2015-05-12 13:53:29 +08:00
golang
antspeed
2015-05-12 13:54:22 +08:00
golang

或者一些语言都有并行库
MrJing1992
2015-05-12 13:54:50 +08:00
golang、rust
phx13ye
2015-05-12 13:58:40 +08:00
@楼上各位
如果不局限于语言,有比较通用的?
我自己的理解, 多线程, fork-join, mapreduce等算不算?
likuku
2015-05-12 14:09:56 +08:00
erlang, golang
askfermi
2015-05-12 14:11:45 +08:00
openmp...
spacewander
2015-05-12 14:14:03 +08:00
更少的共享变量和更少的状态
wy315700
2015-05-12 14:14:50 +08:00
CPU的性能由核心数和单核运算性能决定,
yakczh
2015-05-12 14:18:56 +08:00
php /java
yakczh
2015-05-12 14:19:24 +08:00
ruby/python都有GIL
clino
2015-05-12 14:29:01 +08:00
多进程也可以嘛
w359405949
2015-05-12 14:30:00 +08:00
CPU:线程,进程,OPENMP。

CPU+GPU:OPENCL,CUDA。
endrollex
2015-05-12 14:46:12 +08:00
我觉得有三种情况,
1手动写多线程
2用轻量级语法分配多线程,编译器并行优化
3单线程的某些语句自动优化成多线程
4函数式?这个不了解
CRVV
2015-05-12 14:51:03 +08:00
胶水双核...
一个莫名其妙的词,应该是当年什么人瞎写的一篇文章搞出来的
居然现在还有人在用
wy315700
2015-05-12 14:58:55 +08:00
@CRVV 最早是intel,把两个核心粘在一个板子上 奔腾D双核就这么来的。

后来 Intel的四核也是 把两个双核黏在一起
loolac
2015-05-12 15:02:14 +08:00
erlang
Robling
2015-05-12 15:04:33 +08:00
openmp
winnie2012
2015-05-12 15:10:00 +08:00
二郎

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/190417

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX