• java+SpringCloud开发的性能和环保问题


    对于大部分商业应用开发程序员而言,使用java+spring是一件幸福的事情。

    一般情况下,我们使用cloud开发不是那么重要、精密的应用,这些应用包括例如大型的商业交易,社区等等。

    因为这些应用天然对于效率和精密没有高要求,甚至算不上什么要求,如果有的话就是不要太慢,要稳定。

    得益于硬件的提升和特定的需求,这样的要求很容易满足。

    所以某个角度出发,这些商业应用开发的程序员是最轻松--因为他们不需要考虑太复杂的技术,可以重点提升自己的记忆力和熟练度。

    但在能源日益宝贵的今天,我们需要考虑的事情如下:

    1.提升程序的执行效率(不改变硬件资源的前提下)

    java目前本身是很低效的语言,除了用于开发商业应用,一般不用于开发基础软件,游戏等等,这是因为它的致命问题:太慢了。

    Spring+springCloud近年来变得日益庞杂,它的目的是为了商业应用服务--提升开发效率、应用性能和稳定性。

    老实说,如果不考虑能耗,spring做得很好。从程序员角度出发,spirng很好,不过现在发布的速度太快了。

    我认为spring应该和windows学习,windows甚至能够兼容上个世纪的程序。

    在巨型商业交易网络中,部署这样java的程序的服务器以几十万计算,能耗非常惊人。

    注意,以下的例子并没有权威和实际的数字佐证,但是大部分程序员都明白,java是多么慢,springCloud也非常慢,为了灵活,它们牺牲了性能。

    假定某个商业交易(购物)系统需要部署20万台的服务,每天服务平均每天需要耗费的电量是5度(算上服务器本身+空调等)。

    那么一天就是100万度电。

    如果采用其它的语言编写,并假定更加高效,我相信每台服务器每天的电耗可以至少降低到4度左右。

    那么和java比较,则每天可以节约20万度电量,一年则大概是7300万度电。

    假设烧沸1升的水(从20-100),大概是0.1度,那么7300万度可以烧热7.3亿升水,大概是73万吨水。

    如果一个家庭一天需要加热的水是60升(比较奢侈了),那么可以为一个家庭加热1210万天,大概是33333年。

    如果是一万个家庭,大概是1216天,或者是3.33年。也就是说一年节约的电量,大概可以供一个大型小镇的人烧3年多的开水。

    也许上面算的不是很准确,但是应该不会有太大的偏差。

    然而资本的恶再加上领导的无能,就可能导致这种浪费的持续性,甚至是越来越严重。

    因为资本考虑的短期利益。从某些资本家角度出发,7300万度电,大概是1亿元人名币,这和商业成交额动则百亿比较,实在不值一提。

    资本家不考虑,但国家需要考虑,因为能源日益匮乏是一个现实(除非有什么途径),如果不注重能源的管理,可能某天会面临巨大困境,甚至绝境。

    所以,我们希望从多个层面解决这能源问题和浪费问题:

    1.从国家和政策层面,出台“计算机和软件能耗法”,对不同场景的能耗具有指导、规范、惩戒作用。

    2.还是从国家出发,引导企业研究更加先进的计算机工程技术,以便提升开发、维护效率,并提升运行效率,降低能耗

    3.从企业角度出发,自觉国家法度,并致力于提升能效,因为这是利国利民的事情

    4.从从业人员角度出发,则需要专心学习和研究提升计算机能效的方法

    在信息化社会,硬件和软件的需求已经是非常普遍,所以哪怕是一点提升也是巨大的提升。

    现在,我担心的是我们政府的领导的前瞻性、责任感、执行能力!

  • 相关阅读:
    HDU-3790 最短路径问题(双重权值)
    Graph (floyd)
    POJ-3259 Wormholes(判断负环、模板)
    HDU-1317 XYZZY
    HDU-1548 A strange lift(单源最短路 或 BFS)
    最小生成树(模板 prim)
    【面试】386- JavaScript 面试 20 个核心考点
    【Koa】385- koa框架的快速入门与使用
    【小程序】384- 如何一人五天开发完复杂小程序(前端必看)
    【React】383- React Fiber:深入理解 React reconciliation 算法
  • 原文地址:https://www.cnblogs.com/lzfhope/p/15944717.html
Copyright © 2020-2023  润新知