对金字塔太消耗CPU,且只局限于单核这问题耿耿于怀,为了大家都好,花点时间去分析下问题出在哪里,希望金字塔公司能给予改进。
实验开始:
仅一个框架,一主图一副图,开盘时段,硬盘没有读写。
开8个框架,各有一主图一副图,开盘时段,硬盘每秒读取4M,开盘一个小时读取了18GB数据。此时占用内存200M
以上都没有加载技术指标。
问题似乎有点明晰了,缓存没处理好,在多框架里,每一笔新数据来,就忘记了之前的数据,要重新从硬盘读取。
再看下文华,开8个窗口加8个副图,每秒读取150k数据,写入300字节。此时占用内存93M
admin说文华加载的数据少,于是我看了下我金字塔设置是加载1000棍,文华也把图缩小到1分钟图看4天吧,两者加载K线数公平了。两者读取硬盘数据量还是不变。
结论:金字塔,请你改进下数据缓冲池吧。
[此贴子已经被作者于2013-3-19 10:13:26编辑过]
两个软件同时开8个1分钟窗口的资源消耗情况。

此主题相关图片如下:20130319101724.gif

[此贴子已经被作者于2013-3-19 10:18:56编辑过]
商品收盘后,8个窗口中虽然还有IF股指在跳,但是金字塔也不再去读取硬盘了。
每秒4M,8个品种,基本上就是这8个品种预加载1000根k线,在每秒内要被重复读取两次。
太愚蠢了!
金字塔是全推,文华是点播。这个问题在你的帖子中讲了很多次了。
文华同时就只接收你看的8个品种的数据。
而金字塔要接收所有品种、所有合约的数据的同时,输出8个1分钟图表。
你拿全推和点播2种完全不同的模式的软件做比较,没有意义。
以下是引用RogarZ在2013-3-19 15:18:18的发言:
金字塔是全推,文华是点播。这个问题在你的帖子中讲了很多次了。
文华同时就只接收你看的8个品种的数据。
而金字塔要接收所有品种、所有合约的数据的同时,输出8个1分钟图表。
你拿全推和点播2种完全不同的模式的软件做比较,没有意义。
我觉得你没理解这个问题,全推与否,跟读硬盘有什么关系?跟读取的数量有什么关系?
为什么金字塔要每增加一个框架时(在预设加载1000k线情况下),要增加500k的硬盘读取量?
当我预载750k线时,8窗口的硬盘读取量少了20%,
当我每减少一个框架时,硬盘读取量减少15%,
减少到2个框架时,硬盘读取量是500k,
1个框架时,无论加载多复杂技术指标,硬盘0读取。
这明显就是缓存失效,金字塔每计算一个品种时,上一个品种的内存空间被清除掉了;
当新一笔数据进来时,不得不重新加载1000根k线,再次计算。
但是,你从硬盘指示灯未必能很明显地看得出来,因为操作系统有缓存。
因为每秒重新加载上万根k线,即使有缓存,也会导致CPU很容易就满负荷。