::Blog信息::
名称: let comch pute be aos me you
作者: heteroclinic
域名: blog.mitbbs.com/heteroclinic
站点: BBS 未名空间站

档案日期:20150501000000 ~ 20150601000000


2015-05-17 18:08:27

主题: Does the United States public sector use the so-called agile methodology?
Daily, stand-up and report every hour what they do?
Fill in time sheet with hourly details before every EOD.

Or this is only discriminately applied to the IT industry?

提示: 本博文来自于 JobHunting 版



2015-05-17 11:53:19

主题: Re: java 程序的内存评估,运行效率,以及超线程的问题
suggest you read Java Performance, written by Oracle engineers.

My thinking is GC should be handled out of the vm box. Single VM should be stress-tested and the program/task should be able to throttle itself for memory utilization and persist over usage to database. Use cluster/load balancer to comprehensively conduct the VMs' symphony by major process tables' reading or VM status readings -- process threshhold trigger balancer audit and administration.

Unfortunately, in real life, we rather have to fight ignorance and neglegance than build useful product to sustain the value of the society.

【 在 nowhere7 (折腾) 的大作中提到: 】
: 有几个问题请教:
: 1. 如何效率地评估java程序的内存消耗和运行时间?
: 前几天问了java code在不同机器上内存消耗不同的问题。现在测试了不同的Xms Xmx参
: 数,同样的机器使用16core,16个进程时大致如下.基本上Xms=1/2g,Xmx=6g时内存消耗
: 最少,也显著比其他参数要快。没有再往下测了。但是这样测试觉得好没效率,有没有
: 什么自动半自动的方法可以做这个评估的?特别是很多语言benchmark的测试,他们是
: 怎么评估像java这样语言的速度和内存使用的?
: Xms Xmx
: 16g 112g: cput=11:50:14,mem=30666936kb,vmem=125003524kb,walltime=00:48
: :24
: ...................

有几个问题请教:

1. 如何效率地评估java程序的内存消耗和运行时间?
前几天问了java code在不同机器上内存消耗不同的问题。现在测试了不同的Xms Xmx参
数,同样的机器使用16core,16个进程时大致如下.基本上Xms=1/2g,Xmx=6g时内存消耗
最少,也显著比其他参数要快。没有再往下测了。但是这样测试觉得好没效率,有没有
什么自动半自动的方法可以做这个评估的?特别是很多语言benchmark的测试,他们是
怎么评估像java这样语言的速度和内存使用的?
Xms Xmx
16g 112g: cput=11:50:14,mem=30666936kb,vmem=125003524kb,walltime=00:48
:24
16g 48g:  cput=11:50:32,mem=28415984kb,vmem=55443888kb,walltime=00:48:
22
16g 40g:  cput=11:47:43,mem=25669572kb,vmem=46747780kb,walltime=00:48:
13
16g 32g:  cput=11:49:53,mem=22904308kb,vmem=38052696kb,walltime=00:48:23
24g 24g:  cput=11:55:54,mem=25863512kb,vmem=29357612kb,walltime=00:48:
37
16g 24g:  cput=11:50:52,mem=20067280kb,vmem=29357612kb,walltime=00:48:
09
16g 16g:  cput=11:55:02,mem=17261712kb,vmem=20663064kb,walltime=00:48:50
12g 12g:  cput=11:56:16,mem=12966704kb,vmem=16314988kb,walltime=00:48:55
6g 12g:  cput=11:47:45,mem=8621560kb,vmem=16314988kb,walltime=00:48:36
8g 8g:   cput=11:55:50,mem=8670664kb,vmem=11967980kb,walltime=00:48:49
4g 8g:   cput=11:50:20,mem=5776760kb,vmem=11967448kb,walltime=00:48:29
2g 8g:  cput=11:48:40,mem=4331176kb,vmem=11967448kb,walltime=00:48:41
6g 6g:   cput=11:55:44,mem=6518500kb,vmem=9793676kb,walltime=00:48:59
2g 6g:   cput=11:26:22,mem=3628316kb,vmem=9793676kb,walltime=00:47:49
1g 6g:   cput=11:25:40,mem=3005524kb,vmem=9793676kb,walltime=00:47:48


2.另外我在同样的参数和硬件下测试了线程数>core数的效果,还是有进步的,这是不
是intel超线程的功效?每个线程本身是可以占满一个core的
6g 12g (16cores,32 threads):        cput=11:30:03,mem=8625976kb,vmem=
17380012kb,walltime=00:46:10
6g 12g (16cores,16 threads):       cput=11:47:45,mem=8621560kb,vmem=
16314988kb,walltime=00:48:36


3.内存使用似乎还是跟硬件有关?code的behavior是完全一样的,内存使用也应该完全
一样吧?

xms=1g,xmx=6g,12core,12threads的情况下:
在E5上:
cput=10:10:59,mem=2902424kb,vmem=9527420kb,walltime=00:56:01
在X5上:
cput=10:47:46,mem=2945292kb,vmem=9319108kb,walltime=00:58:58


提示: 本博文来自于 Programming 版



2015-05-15 23:44:40

主题: Re: 如何 replace这里的第二个x
this not context free so a allittle annoying
W -> [^x]*x[^x]*xB.*
after replace
W' -> [^x]*x[^x]*B.*

So insert a special symbol B after the second x.

then replace xB with epsilon, which is empty string


Two steps:
- replace [^x]*x[^x]*x with [^x]*x[^x]*xB, B must be a special symbol
- replace xB with epsilon

Pipe two sed should do.


$ echo aabbxccddx12x3x | sed -e 's/\([^x]*x\)\{2\}/&B/' | sed -e 
's/xB//'
aabbxccdd12x3x

The regex would apply to Java etc too.

【 在 theyesterday (yesterday) 的大作中提到: 】
: aaabbbxccdddx123
: aaddxeeffxm234
: 有简单的linux command line可以做个吗?谢谢了!




提示: 本博文来自于 Programming 版



2015-05-14 02:02:39

主题: Re: Why oop is bad?
Abstraction may not a comfi either.

For example, you "go to delaration" of caller.call(), you see the interface of Caller, but only run time debug you can GO into CallerImpl

【 在 heteroclinic (asymptotically stable) 的大作中提到: 】
: data persistence is not comfi w/ oop
: basically inheritance is a death sentence of normal form which anomaly 
: dramatizes.




提示: 本博文来自于 Programming 版



2015-05-13 17:06:20

主题: Re: 这就是OO的精髓?
重新温一下think in cpp vol1 2nd edition
Page 303, guarantee initialization with the constructor
用constructor if needs a justification, this could be.

If it is not justified, zkss.

Just guess modern compiler will take care of such details.

Subjective assertions feature themselves with preemptive exclusive proclaims, while engineers accomplished write controlled programs then count the ticks.

【 在 hh2000 (长征) 的大作中提到: 】
: 简单function,要把复数的虚部至0
: 一快60岁的老美phd的code
: x = complex(real(x));
: 这效率得多低啊。




提示: 本博文来自于 Programming 版



2015-05-10 18:20:29

主题: Re: 比如irs根据流量收税,收的现金能对上吗
Re: 比如irs根据流量收税,收的现金能对上吗
【 在 heteroclinic (asymptotically stable) 的大作中提到: 】
: 几pb怎么audit,



提示: 本博文来自于 Programming 版



2015-05-10 12:33:34

主题: 提供一道面题
提供一道面题

bed bug的三连星开局在运筹上是怎么优化的
提示参考围棋

提示: 本博文来自于 JobHunting 版



2015-05-09 16:58:35

主题: Re: 求表达式反复parse的最优算法/思路
求大神帮忙解答一个算法设计, 要求反复循环的parse几个变量,每次循环某些变量赋
值改变,求最优的parse方案。

假设一个初始的scope:
{  a: 5,
   b: 6,
   c:a^(b+3),
   b: 7,
   e: c*b,
   f: c*2,
   g: d+c,
   h: e+f,
   i: f*log(g)
}

要求最优效率的多次求取h和i。很次循环中scope中有的变量发生变化。比如进行一下
五次循环:

iteration 1: 默认的scope;
  iteration 2: { d: 4};
  iteration 3: { c: 3};
  iteration 4: { b: a*f};
  iteration 5: { a: j+2,
                       j: 60};

比如说iteration 2里面d的改变不会影响h值,那么就不用重新计算h值,这样来提高变
量parse的效率。

可以想到肯定要检验变量之间的依赖关系, 问题是怎么设计能使在parse次数最少的同
时,把检验变量依赖关系的次数也降到最低。

这是个简化的例子。实际使用中大概有50+个互相依赖的变量,进行上百万次的
simulation。

求大神指点思路。


【 在 uni2008 (uni2008) 的大作中提到: 】
: 求大神帮忙解答一个算法设计, 要求反复循环的parse几个变量,每次循环某些变量赋
: 值改变,求最优的parse方案。
: 假设一个初始的scope:
: {  a: 5,
:    b: 6,
:    c:a^(b+3),
:    b: 7,
:    e: c*b,
:    f: c*2,
:    g: d+c,
: ...................




提示: 本博文来自于 Programming 版



2015-05-09 16:06:13

主题: Re: node.js快,到底什么是根本的原因?
这个还有点干货,可惜前十的东西基本都没摸过
https://www.techempower.com/benchmarks/#section=data-r10&hw=peak&test=json


【 在 convergence (Rex) 的大作中提到: 】
: node.js快,到底什么是根本的原因?
: 1。 javascript里用callback,这样就 non-block i/o
: 2.  用到了web server的os的multi-threading
: 3。 用到了websocket,这是双向交流,tcp;比http更底层,也更轻,这样在internet上
: 传输时更快
: 4。以上都是。




提示: 本博文来自于 Programming 版



2015-05-03 12:50:15

主题: Re: 个人创业项目如何启动?
Stealth mode:

buy some cheap machines from new egg, prototyping.

One week.

IDE for client: Android Studio
IDE for server: You choose Anroid, so it is Java stack, any Java IDE suffices.
build/debug system: Java IDE + Maven project management, you want to z-turn, can use Gradle
code review: definition of requirements + Unit tests + documentation (this is engineering, objective), code review is subjective
code search: gitweb
test framework: testNG/Junit + Jenkins/Teamcity
bug tracking: Jira, gitweb or github

【 在 AlphaCode (Alpha) 的大作中提到: 】
: 比如有个移动应用的想法,两个人合作,客户端安卓。服务器端准备先上Linux + 
: Django。前期自己可以烧一点钱,希望尽快有个原型出来。
: 1. 开发环境
: IDE for client: Android Studio
: IDE for server: 
: build/debug system:
: code review:
: code search:
: test framework:
: bug tracking:
: ...................




提示: 本博文来自于 Programming 版



2015-05-03 01:12:31

主题: community version mysql question
As a community version mysql, I want to have a restoration point. So when run a sql script, I can go back to that checkpoint. Something like a differential or incremental, not the full mysqldump.

提示: 本博文来自于 Programming 版



BBS 未名空间站