由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 瓶颈在哪儿?
相关主题
震惊:java 的矩阵操作比 c++ 快?请大牛们帮忙看一段并行c++代码的效率问题
问个double和long double的问题functional programming?
C++并发和Java并发有多大区别?在图像算法领域,纯java没戏,用java和c++混合编程很恶心
Which C++ compiler do you use on your home computer?c++这种语言注定了会越做越小
请教:double比float算起来还快?java在图像分析领域,就是一个扶不起的阿斗
你们觉得computer sicence最核心的是哪几门课?请教C++class
嵌入式编程问题黑c++的人是不是坐井观天?
C++多线程和硬件的关系我是一个线程 (转载)
相关话题的讨论汇总
话题: do话题: your话题: simd话题: platform
进入Programming版参与讨论
1 (共1页)
b**********t
发帖数: 57
1
不是CS专业的, 但是也一直不间断的写程序,主要是Matlab,偶尔C++。 最近做的
项目要尝试不同的方法。拿到文献,
感觉看地也挺明白,可是想把文献上的算法真正写成程序,总是很慢,感觉不知道怎么
把那些东西真正地变成指令。不清楚
这到底是什么限制( 没学过数据结构)。
b******n
发帖数: 592
2
normally you only should pay attention to the core computation loops. In C++
, you can profile your program to find the bottleneck. A few simple way to
improve the performance of your program:
1. Compilation optimization, google your compiler and platform, for example,
taking advantage of platform features such as vectorization, SSE, cache
optimization. If the computation is not so sensitive, use optimized math
library can speed up your calculation as well.
2. hand code SIMD instructions to do computation usually can double the
speed, make sure memory access is optimal. You probably need more
understanding of the platform to optimize cache access. SIMD instruction is
easy enough to do though.
3. whenever you do, try to use optimized library to do calculation. this
probably should be the first one.
4. split your task to run parallel sub-tasks if you are working on a multi-
core environment.
In my experience, memory is actually a bottleneck in many cases. It can
really make a difference in performance if you do it right.

【在 b**********t 的大作中提到】
: 不是CS专业的, 但是也一直不间断的写程序,主要是Matlab,偶尔C++。 最近做的
: 项目要尝试不同的方法。拿到文献,
: 感觉看地也挺明白,可是想把文献上的算法真正写成程序,总是很慢,感觉不知道怎么
: 把那些东西真正地变成指令。不清楚
: 这到底是什么限制( 没学过数据结构)。

b**********t
发帖数: 57
3
我这里说地瓶颈不是我程序执行地瓶颈, 而是我从文献上的算法到真正用语言实现的
瓶颈。感觉都读懂了,可是真正编程却不上手。
N***m
发帖数: 4460
4
所以你是感觉读懂了,而不是真正读懂了

【在 b**********t 的大作中提到】
: 我这里说地瓶颈不是我程序执行地瓶颈, 而是我从文献上的算法到真正用语言实现的
: 瓶颈。感觉都读懂了,可是真正编程却不上手。

g*****g
发帖数: 34805
5
写得太少,编程也是手熟的东西。当然基础的算法和数据结构
不熟悉可能是个问题。

【在 b**********t 的大作中提到】
: 我这里说地瓶颈不是我程序执行地瓶颈, 而是我从文献上的算法到真正用语言实现的
: 瓶颈。感觉都读懂了,可是真正编程却不上手。

a*****i
发帖数: 268
6
机器只会两种指令,顺序或跳转。你得适应它。
b**********t
发帖数: 57
7
文献上大都是理论性的,公式方程之类的(连续的),感觉第一步怎么把这些东西变成
可以编程的很困难。 这是什么原因?
p***o
发帖数: 1252
8
连续变离散然后做计算?那都可以毕业好几个PhD了。你说编程是用matlab还是啥?

【在 b**********t 的大作中提到】
: 文献上大都是理论性的,公式方程之类的(连续的),感觉第一步怎么把这些东西变成
: 可以编程的很困难。 这是什么原因?

b**********t
发帖数: 57
9
matlab
g*****g
发帖数: 34805
10
夸张了,学一下数值计算,标准的多项式逼近方法大部分的活够了。
本科生就学的会。

【在 p***o 的大作中提到】
: 连续变离散然后做计算?那都可以毕业好几个PhD了。你说编程是用matlab还是啥?
g*********s
发帖数: 1782
11
移动和打印,图灵机。

【在 a*****i 的大作中提到】
: 机器只会两种指令,顺序或跳转。你得适应它。
v*s
发帖数: 946
12
不看贴就回这么多,辛苦了!

++
example,
is

【在 b******n 的大作中提到】
: normally you only should pay attention to the core computation loops. In C++
: , you can profile your program to find the bottleneck. A few simple way to
: improve the performance of your program:
: 1. Compilation optimization, google your compiler and platform, for example,
: taking advantage of platform features such as vectorization, SSE, cache
: optimization. If the computation is not so sensitive, use optimized math
: library can speed up your calculation as well.
: 2. hand code SIMD instructions to do computation usually can double the
: speed, make sure memory access is optimal. You probably need more
: understanding of the platform to optimize cache access. SIMD instruction is

b******n
发帖数: 592
13
看了贴,没看懂他讲什么。。

【在 v*s 的大作中提到】
: 不看贴就回这么多,辛苦了!
:
: ++
: example,
: is

1 (共1页)
进入Programming版参与讨论
相关主题
我是一个线程 (转载)请教:double比float算起来还快?
讨论程序语言没什么意思,functional programming还是不错的你们觉得computer sicence最核心的是哪几门课?
关于内存泄漏嵌入式编程问题
粉FP的人是因为把电脑想象成图灵机了C++多线程和硬件的关系
震惊:java 的矩阵操作比 c++ 快?请大牛们帮忙看一段并行c++代码的效率问题
问个double和long double的问题functional programming?
C++并发和Java并发有多大区别?在图像算法领域,纯java没戏,用java和c++混合编程很恶心
Which C++ compiler do you use on your home computer?c++这种语言注定了会越做越小
相关话题的讨论汇总
话题: do话题: your话题: simd话题: platform