最近大家可能注意到了,到处在谈节约能源,节水、节电、节燃油,要建立节约型社会和城市。其实我平时还是比较节约的,下班的时候关掉电脑,看见在流水的水龙头都要主动去关掉。
节约能源,人人有责,作为软件工程师,能做什么呢?个人认为这是一个有意思的话题,这里提一些想法,让我们的应用程序也象各个商场里畅销的高能效比电器一样受人欢迎
1、尽量利用 Cache(内存操作应比磁盘操作省电吧) ,降低对磁盘的读取,或对远程资源的再次读取。
2、程序可以随需应变,随任务改变运行参数,减少无谓的资源浪费。
例如一个程序定期要对数据库扫描,以处理新的任务,但如果这些任务只在工作时间(白天)产生,那在晚上扫描的间隔就可以设置得更长一些,或者干脆停止扫描。Intel 的 SpeedStep 技术就有点这个意思。
3、如果任务的实时性要求不是很高,可以考虑将多个任务以批处理的方式运行。
4、数据在传输时进行压缩。
最近对这个关注比较多,因为内部很多系统之间通过 FTP 来交换大量数据交换,网络带宽有限,很容易造成瓶颈,从 http://www.maximumcompression.com 网站对于数据的压缩的比较结果来看,大多数文本的压缩都在 80% 以上,所以低带宽的情况,压缩后传递能大大增加有效传输速度。象新版本的 Server-U 和 FTP Voyager 之间传输数据时,就能采取自动压缩(利用 ZLib)技术,效果明显。
我用一个 5G 的数据文件测试,FTP 的速率限制在1M(模拟低带宽的情况),只用 10 分钟左右,如果使用其它没有压缩技术传输的 FTP 客户端,则耗时将达 80 分钟。当然压缩会带来 CPU 的消耗,但主观认为压缩+传输+解压缩 的能源耗应该比未压缩传输小很多 😛
Apache 和 IIS 的 Web Server 也支持 gZip 的功能,不知道为什么用的人很少
5、程序具有快速保留和恢复现场的能力。
现在用笔记本,经常使用待机功能,开关迅速,在离开的时候能待机省电,回来的时候能马上开机使用。想想,要是全世界人民都在使用待机功能,节省的电能不知有多少呀。
有些系统或应用程序一旦开始运行,就不敢再关了,因为关掉之后再启动,要经过很多人的干预,这样用户就不敢轻易关机了,即使在没有任务运行的时候。
6、设计简捷优秀的用户界面
花里胡哨的东西(动画、声音等)要谨慎使用,其在传输和客户端的展示过程中,都将耗费更多的资源。
注意,不是不用,而是不要滥用。
7、注意控制无谓的用户在线时间
QQ 的升级机制引诱许多人天天挂机,极大的浪费了电力资源,这不是刚改了吗。很多游戏的升级机制也值得探讨,这些机制导致的电能浪费是巨大的。
funny
听客户抱怨说用.NET CF开发出来的程序比EVC的费电,这个可能还有点意义
赞同楼主观点。其实很多时候不是说你有钱,你能把电脑开在那里,然后人走,你能出得起这个电费。
小时候听的一句话:朱门酒肉臭,路有冻死骨。
个人观点,不带任何针对性。
强烈建议这个blog的服务器夜间和周末关闭。
以后写blog也应该多多使用english,减少汉字输入法带来的额外电力消耗,尤其是能够自动组词/学习的输入法。
尽量telnet/ssh,不要使用图形界面。会unix的这方面问题不大,windows一族建议退回到dos时代
推广墨绿色显示器
光电鼠标统统扔掉
广泛使用软盘存储运行程序,避免传递大于2.88兆文件带来的电力消耗
adsl猫速度那么快,应该比电话猫费电 🙂
操作Cache不见得比操作磁盘省电哦…
这节约云云政策本来就是笑话…
还当真了…
要节约从代表们做起吧…
我觉得楼主的观点很有一些道理。而楼下的有些回帖倒是走了极端。
至于技术内容,不知道有没有作这方面的研究?如果没有,倒是可以写一些程序测定一下典型操作的能耗情况,这个很有意义。支持楼主
节约能源,人人有责!这是一个高尚的境界,因为只有这样我们的子孙后代才能生存和发展!否则,就不可想象了!!!!!