Redian新闻
>
请教大家一个难以定性的找工作问题,迷茫中----多谢啦~
avatar
请教大家一个难以定性的找工作问题,迷茫中----多谢啦~# ChemEng - 化学工程
t*z
1
m[2000][2000] x v[2000]性能差这么多,叫c++情何以堪啊。。。
测试环境
AMD Athlon(tm) 64 FX-53 Processor
Memory: 8GB
测试结果
[~]$javac jmatrix.java
[~]$/usr/bin/time -p java jmatrix
java allsum=1.8658666E16
real 27.90
user 26.82
sys 0.17
[~]$g++ cmatrix.cpp
[~]$/usr/bin/time -p ./a.out
c++ allsum=1.86587e+16
real 70.89
user 69.99
sys 0.32
测试代码见
http://ping80life.blogspot.com/2012/01/java-c.html
avatar
i*u
2
本科硕士背景是热能,传热、流体和燃烧。读博不想搞那些就选了个简单的,新能
源,原以为是烧烧东西或者是气化之类的,谁知道是搞用aspen模拟一个蒸汽燃气联合
循环的生物质电厂。现在考虑到找工作了,但是实在是不知道应该找哪方面的。
项目做得好像偏化工方面,但是又不是很深入,并且除项目涉及到的化工知识外,
其它的不知道。上的课基本是数学和ME的,要是以后从事化工行业估计还得学很多。
看了一下,适合的职位是process design,和我做的东西很贴近,但是不知道这个
发展前景咋样,并且是在我看来做aspen 模拟不像是理论研究,有点像技术工人,怕以
后失业。现在是太迷茫了,大家能否给我一点建议或者是意见呢?提供一点信息也行,多谢啦。
avatar
t*z
3
m[2000][2000] x v[2000]性能差这么多,叫c++情何以堪啊。。。
测试环境
AMD Athlon(tm) 64 FX-53 Processor
Memory: 8GB
测试结果
[~]$javac jmatrix.java
[~]$/usr/bin/time -p java jmatrix
java allsum=1.8658666E16
real 27.90
user 26.82
sys 0.17
[~]$g++ cmatrix.cpp
[~]$/usr/bin/time -p ./a.out
c++ allsum=1.86587e+16
real 70.89
user 69.99
sys 0.32
测试代码见
http://ping80life.blogspot.com/2012/01/java-c.html
avatar
i*u
4
不知道用aspen做过程设计和优化有没有发展前途,还有salary有人知道一般是多少吗?
avatar
s*x
5
别自欺欺人了, java 的效率跟 c++ 根本没法比。
avatar
i*q
6
投石问路啊 找工作的简历发出去看看有没有回音 问问行业的process engineer薪水如
何了 linkedin上面找人做informational interview 师兄师姐 老板 都是可以问的
avatar
t*a
7
不至于。。。楼主这种纯计算型的小程序,差不了多少的
但只要c++实现的别太sb, 编译器别犯傻,java真不太不可能比c++快

【在 s**x 的大作中提到】
: 别自欺欺人了, java 的效率跟 c++ 根本没法比。
avatar
T*l
8
哈哈 !终于在化工版有一个跟我一样本科背景的人。其实化工跟热能还是蛮接近
的。我觉得你需要补的是:mass transfer,separation 和 reaction engineering,
这样你就能在石油,化工,半导体,制药领域内纵横驰骋了。而不是只做做Aspen。如
果你仅仅是想找run Aspen 的话,有很多Engineering 和consulting company 他们会
有一些opening。

,多谢啦。

【在 i*********u 的大作中提到】
: 不知道用aspen做过程设计和优化有没有发展前途,还有salary有人知道一般是多少吗?
avatar
s*e
9
if you knew java history, you would know that Java was designed for
enterprise application rather than mathematical calculation. that is the
reason why almost nobody uses it for scientific programming.
avatar
t*a
10
你说的前半段我同意,但1.6之后,纯计算的程序跑起来数据已经很接近了,你可以看
这个算pi的比较。
http://left404.com/2011/12/01/bytecode-v-native/
java在科学计算里的排名我没找到,但我估计c/c++后面也就fortran, java,c#这几个
,用的人也不会太少的

【在 s******e 的大作中提到】
: if you knew java history, you would know that Java was designed for
: enterprise application rather than mathematical calculation. that is the
: reason why almost nobody uses it for scientific programming.

avatar
N*m
11
in general, fortran is faster than c

【在 t***a 的大作中提到】
: 你说的前半段我同意,但1.6之后,纯计算的程序跑起来数据已经很接近了,你可以看
: 这个算pi的比较。
: http://left404.com/2011/12/01/bytecode-v-native/
: java在科学计算里的排名我没找到,但我估计c/c++后面也就fortran, java,c#这几个
: ,用的人也不会太少的

avatar
z*e
12
一个是这么多年硬件性能的飞跃使得纯粹软件运行速度上的差异越来越小
另外一个是这些年java本身虚拟机软件的优化,也使得这个class执行性能逼近甚至超
过菜鸟们自己写的程序
凡事讲究一个积累,就像汇编跟c一样,结构才是硬道理

【在 t***a 的大作中提到】
: 你说的前半段我同意,但1.6之后,纯计算的程序跑起来数据已经很接近了,你可以看
: 这个算pi的比较。
: http://left404.com/2011/12/01/bytecode-v-native/
: java在科学计算里的排名我没找到,但我估计c/c++后面也就fortran, java,c#这几个
: ,用的人也不会太少的

avatar
T*U
13
听有人说,他们做的比较研究,java比c++的执行效率只低10%, 考虑到现在cpu的速度
,这个差别大多数情况都可以忽略或者被其他因素掩盖了。

【在 z****e 的大作中提到】
: 一个是这么多年硬件性能的飞跃使得纯粹软件运行速度上的差异越来越小
: 另外一个是这些年java本身虚拟机软件的优化,也使得这个class执行性能逼近甚至超
: 过菜鸟们自己写的程序
: 凡事讲究一个积累,就像汇编跟c一样,结构才是硬道理

avatar
g*g
14
取决定性作用的从来是类库和legacy code。就算java够快,
port类库和代码也是很大的工作量。所以任何领域是很难
改变开发语言的。只有mobile这样从wm,symbian到ios, android,
你才会看到C++程序员纷纷转行。

【在 T****U 的大作中提到】
: 听有人说,他们做的比较研究,java比c++的执行效率只低10%, 考虑到现在cpu的速度
: ,这个差别大多数情况都可以忽略或者被其他因素掩盖了。

avatar
t*a
15
这我信,fortran编译器可是盯着矩阵乘法这类东西猛做优化的。。。。

【在 N***m 的大作中提到】
: in general, fortran is faster than c
avatar
s*r
16
同一个程序我用Fortran写过,gfortran 和ifort 都编译过
Fortran比C慢不少,有接近10倍的速度差

【在 N***m 的大作中提到】
: in general, fortran is faster than c
avatar
a*n
17
g++ -O3以后呢?
avatar
s*u
18
$ javac jmatrix.java
$ time -p java jmatrix
java allsum=1.8658666E16
real 32.97
user 32.46
sys 0.23
$ g++ -O3 -arch x86_64 cmatrix.cpp
$ time -p ./a.out
c++ allsum=1.86587e+16
real 16.48
user 16.17
sys 0.10
avatar
G*F
19
比矩阵速度的话用matlab做基准就可以了,没matlab的话用python加MKL enabled的
numpy也可以np.dot(A, B)
不过java或c++真是很少用在数值计算上。前段时间我要算的一个11K*350K的矩阵,来
个A * A',要是用楼主那样用loop来算,那得算到哪年去啊。
avatar
g*g
20
try java -server

【在 s*****u 的大作中提到】
: $ javac jmatrix.java
: $ time -p java jmatrix
: java allsum=1.8658666E16
: real 32.97
: user 32.46
: sys 0.23
: $ g++ -O3 -arch x86_64 cmatrix.cpp
: $ time -p ./a.out
: c++ allsum=1.86587e+16
: real 16.48

avatar
b*y
21
其实早就有说法,java的某些array操作比c++快。
avatar
r*n
22
hotspot JVM带动态优化,你如果能根据硬件手动优化C++编译,最后结果还是C++快,
但这种纯运算差距不会太大。关键大多数人不会去手动优化C++, 也未必事先知道将来
deploy的硬件平台,这样JVM就有优势。速度只是一项指标,如果考虑其它资源,内存
啥的JVM肯定不如C++高效。你要是用-server跑Java会发现更快,当然内存也用得更多。
avatar
a*n
23
我也试了一下,发现java用180%的cpu。难道是自动并行了?
avatar
n*0
24
扯淡。你要是真想test jit编译器的性能就-Xcomp,看看能快成啥样。

【在 b******y 的大作中提到】
: 其实早就有说法,java的某些array操作比c++快。
avatar
o*n
25
正解

【在 G*F 的大作中提到】
: 比矩阵速度的话用matlab做基准就可以了,没matlab的话用python加MKL enabled的
: numpy也可以np.dot(A, B)
: 不过java或c++真是很少用在数值计算上。前段时间我要算的一个11K*350K的矩阵,来
: 个A * A',要是用楼主那样用loop来算,那得算到哪年去啊。

avatar
S*h
26
The default garbage collector in hotspot jvm is in the different thread. So
yes, in that sense, java automatically does some parallel.

【在 a***n 的大作中提到】
: 我也试了一下,发现java用180%的cpu。难道是自动并行了?
avatar
m*u
27
这个time测得不准吧
avatar
C*U
28
用blocking的办法能加快速度
不要直接去算

【在 G*F 的大作中提到】
: 比矩阵速度的话用matlab做基准就可以了,没matlab的话用python加MKL enabled的
: numpy也可以np.dot(A, B)
: 不过java或c++真是很少用在数值计算上。前段时间我要算的一个11K*350K的矩阵,来
: 个A * A',要是用楼主那样用loop来算,那得算到哪年去啊。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。