免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: kanhfshiys
打印 上一主题 下一主题

[C] 如何写程序就能尽量做到节省内存?或者是提高效率?  关闭 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-11-29 14:35 |只看该作者
反正我也需要写数据库,多说一点吧。
一个事务是原子的吧?这里要lock么?
读写的问题呢?同时读,同时写,一个读一个写。DB不是OS,死机了可以人为调整或者重启,DB死了数据就完了,客户就跟你玩儿命。lock不lock?
数据库就那么点儿操作,插入,读取,很多客户的操作要求也都是原子性的,不lock能活么?
池?为了维护数据的统一性,不lock咋办?
呵呵,Oracle的人怎么做的我不知道,我只知道数据库实现上多线程很恶心,那是相当的恶心,不是一般的恶心。

论坛徽章:
0
12 [报告]
发表于 2009-11-29 14:41 |只看该作者

回复 #10 prolj 的帖子

为什么进程高?

论坛徽章:
0
13 [报告]
发表于 2009-11-29 14:46 |只看该作者
线程的数据相关性太高
进程的数据相关性不会很高
---------------------------------------------
形象的
线程:我的左手想烧水,我的右手想泡茶,我的左脚想进厨房,我的右脚想去卧室,我的屁股想在马桶上。
进程:我去烧水,配偶去准备茶叶和茶具,一起喝完之后,我去拉屎,某人就去睡觉了。
效率是明显的。

论坛徽章:
0
14 [报告]
发表于 2009-11-29 14:58 |只看该作者

回复 #11 prolj 的帖子

数据库当然是你对了!但是数据库 那你应该用到很多进程间通信吧!都说中国没有几个公司能够写出数据库

论坛徽章:
0
15 [报告]
发表于 2009-11-29 15:04 |只看该作者
OK,大规模Web并发访问,我也不熟,留给熟悉的人吧,JSP/PHP脚本客免谈,一般来说你们是不懂什么叫性能的,性能都在中间件和Server上考虑了。
=======================================================
好像线程不用通信似的,共享变量也是一种通信,何况IPC当中共享内存/pipe的效率不是那么恶心,而且,多进程模型就没有那么多需要通信的情况。
------------------------------------------------------------------------------------------------
国内“自主知识产权”的数据库太多了吧?是个XX大学的教授都自己弄一个。很多 公司/研究所/大学教授 都会“自主知识产权”一下PostgreSQL、MySQL、BerkeleyDB、SQLite或者别的什么。

论坛徽章:
0
16 [报告]
发表于 2009-11-29 15:11 |只看该作者

回复 #15 prolj 的帖子

只是问问  谢谢

论坛徽章:
0
17 [报告]
发表于 2009-11-29 15:38 |只看该作者
先将程序写正确,然后把代码写的有条理而不是面条式,然后再开始不断迭代优化,积累经验之后,下次可以一开始就选择较好好方案,减少迭代次数。很多时候要不要优化,优化到什么程度,还有很多其他因素影响,不是越优化越好。

优化要具体问题具体分析,有时候是空间换时间,有时候是时间换空间,不同的环境有不同的侧重点,优化要找最瓶颈的地方优化,积累经验后,什么地方是瓶颈会估计的准一些,但大多数情况下还是要做一下profile分析。

提起优化,还没看场合就马上就线程、进程、pool、cache、epoll、框架、模式。。。之类的,通常都是半桶水的

论坛徽章:
0
18 [报告]
发表于 2009-11-29 15:42 |只看该作者
真无聊,我还要擦屁股
原帖由 kanhfshiys 于 2009-11-29 13:26 发表
程序需要注意什么才能尽量做到节省内存或者是提高效率?

节省内存,线程省了,效率不一定高。
后面引出话题了。

论坛徽章:
0
19 [报告]
发表于 2009-11-29 16:49 |只看该作者

回复 #17 drangon 的帖子

鄙人是空桶。希望满水的多多指教

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
20 [报告]
发表于 2009-11-29 17:10 |只看该作者
原帖由 prolj 于 2009-11-29 14:09 发表
知道为什么不愿意买Oracle么?因为Oracle搭配4核的机器。知道为什么不愿意买4核的机器么?因为性价比根本不是那么回事儿。
多线程,没写过多线程的代码吧?说多线程高效的就是扯淡,满篇的都是lock,还没跑呢就 ...

泪如雨下啊,终于找到组织了。孤身奋战多年,控诉多线程的罪恶,没人信啊。
我说过的,好像当年你支持过我:
多线程是平面交通体系,多进程是立体交通体系。
多线程成本低,性能更低。当你在平交路口堵得一塌糊涂时,就知道多线程是多么可恶了。

[ 本帖最后由 yulihua49 于 2009-11-29 17:16 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP