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 | |
b**********t 发帖数: 57 | 7 文献上大都是理论性的,公式方程之类的(连续的),感觉第一步怎么把这些东西变成
可以编程的很困难。 这是什么原因? |
p***o 发帖数: 1252 | 8 连续变离散然后做计算?那都可以毕业好几个PhD了。你说编程是用matlab还是啥?
【在 b**********t 的大作中提到】 : 文献上大都是理论性的,公式方程之类的(连续的),感觉第一步怎么把这些东西变成 : 可以编程的很困难。 这是什么原因?
|
b**********t 发帖数: 57 | |
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
|