从计算机角度来推断,时间是不是就是空间? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
alwayshere
V2EX    程序员

从计算机角度来推断,时间是不是就是空间?

  •  
  •   alwayshere 2016-11-30 09:35:41 +08:00 4748 次点击
    这是一个创建于 3245 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这几天开发后端,感觉程序开发就是一种时间换取空间 or 空间换取时间的游戏,最简单的例子就是生成缓存,很多时候把需要耗时的结果存为缓存,这样减少了时间但增加了空间,自己有时的服务器够强悍, CPU 和带宽都是顶配,但硬盘是小容量的 SSD 固态硬盘,所以就不用生成缓存,每次直接输出结果就行了,所以突然就有这么一个想法:时间===空间,刚刚网上去查了查时间和空间的论断,看到一篇文章: http://www.zhibeifw.com/fjgc/fjykx_list.php?id=7465 (篇幅较长)感觉说的很好,大家觉得是不是这么一回事

    其实感觉计算机原理和宇宙都是相通的,比如知乎上一个回答: https://www.zhihu.com/question/20499013/answer/47162939

    24 条回复    2016-12-01 13:58:40 +08:00
    xjtlujoe
        1
    xjtlujoe  
       2016-11-30 09:39:50 +08:00
    你是说能量守恒么?或者我的理解是羊毛出在羊身上。差不多的意思
    misaka19000
        2
    misaka19000  
       2016-11-30 09:50:30 +08:00
    这都什么和什么

    缓存的发明来自于局部性原理
    SoloCompany
        3
    SoloCompany  
       2016-11-30 10:05:08 +08:00
    当然不是
    你这理论和「只要有足够长的时间,一只狗可以在打字机上打出来一首莎士比亚的完整的诗歌」有什么区别
    再引申一下,随便一部电影,也能够在 pi 的若干 bit 上找到
    SoloCompany
        4
    SoloCompany  
       2016-11-30 10:06:19 +08:00
    SilentDepth
        5
    SilentDepth  
       2016-11-30 10:13:12 +08:00
    在计算机理论内的很多情况下,时间和空间是可以互换,但不能说「时间 === 空间」,甚至不能说「时间 == 空间」。楼主对程序开发的感觉(主题第一句)是对的,但由此还不能引申出这么大的理论来。另外最后一句,与其说「计算机原理和宇宙都是相通的」,不如说它们遵守的都是相同的规则,这两种理解在出发点上有点微妙的区别
    aitaii
        6
    aitaii  
       2016-11-30 10:20:01 +08:00
    按 规矩 来,如果人人或自然事物都遵守,就是 规律。
    q397064399
        7
    q397064399  
       2016-11-30 10:20:21 +08:00
    时间换空间不是绝对的,
    例如排序算法最优解就是 O(log n),你没办法通过空间来换取时间,因为这是信息论决定的
    oisc
        8
    oisc  
       2016-11-30 10:25:02 +08:00
    不要发明概念,时间就是时间。计算资源包括三种:并行时间、串行时间和空间三种.
    woostundy
        9
    woostundy  
       2016-11-30 11:17:51 +08:00
    @q397064399 非比较排序可以突破,比如桶排序或者计数排序。
    ryd994
        10
    ryd994  
       2016-11-30 11:28:33 +08:00 via Android
    恭喜楼主进入民科领域
    你是不是还没有考虑一个很重要的维度:钱
    很多时候我遇到的是:优化?优化啥?加钱上机器!你们几个人优化半个月,工资都够买机器了
    SlipStupig
        11
    SlipStupig  
       2016-11-30 11:56:35 +08:00
    @SoloCompany 啊哈, bozo 算法
    levn
        12
    levn  
       2016-11-30 12:11:14 +08:00
    “程序=算法+数据结构”
    lisp “代码即数据 数据即代码”
    “整个宇宙其实只有一个电子”
    deeporist
        13
    deeporist  
       2016-11-30 12:27:54 +08:00
    从宇宙的角度来看时间和空间都不存在
    Light3
        14
    Light3  
       2016-11-30 12:29:47 +08:00
    让我想起了昨天那个在地铁上看见的运维..
    那个运维说我在 ssd 装能比机械快百分之 60 的时间...
    意思大概是为什么公司不全上 ssd..
    metowolf
        15
    metowolf  
       2016-11-30 12:50:21 +08:00
    正所谓计算机学着学着就开始往玄学方面搞了
    arzusyume
        16
    arzusyume  
       2016-11-30 13:14:49 +08:00
    从北京到上海高铁要 4 小时,
    不意味着北京到上海距离和 4 小时的时间是等价的
    phoolean
        17
    phoolean  
       2016-11-30 17:02:42 +08:00
    当然不是,用多少缓存也无法将质因数分解问题的复杂度降到多项式级别
    itfanr
        18
    itfanr  
       2016-11-30 19:06:08 +08:00
    哲学问题
    polo2222
        19
    polo2222  
       2016-11-30 19:54:28 +08:00
    智障啊。。。。
    lx1510
        20
    lx1510  
       2016-11-30 20:31:42 +08:00
    @arzusyume 您大概没懂楼主的意思吧,比如您的例子,北京到上海,针对高铁这一种交通方式,铁路局收费可以按空间距离计算,其实也可以按照乘车时间的倒数计算(然而它没有,虽然停站少高铁自身运营成本可以更低,部分乘客也可以少浪费时间,但铁路局毕竟要照顾到空间上的客观存在的利益,把自身利润最大化),导致从北京到上海的这些人更倾向于买乘车时间短的车票。可以说,空间距离“等价”于乘车时间的倒数
    sgissb1
        21
    sgissb1  
       2016-11-30 20:57:26 +08:00
    没太看懂,文字表达可能太抽象。

    首先时间和空间不相等,也不能约等于,最多近似。因为 lz 你忽略了一个问题,生存缓存是加快时间,牺牲空间换时间没错,问题是如果不生成缓存,那么就能留住空间了吗?你提到的空间可能只是磁盘空间,而我说的空间是存储空间。

    缓存这玩意不仅仅可以放到磁盘上,还能放到内存上,当某查询业务并发量到达 W 级时,为了节约空间哥几个不生成缓存,那么空间和时间一同会浪费起来。因为每次数据的重新生成不仅仅是要 cpu 时间,还需要内存空间,当并发量达到一定时,你就会发祥时间和空间都没了。

    但如果在这个业务下,我们将缓存定时刷新,表面上浪费了一定的空间,但在较高的并发时,你会发现只是 cpu 读取同一份数据而已,不会占用其他太多余的空间。
    onesuper
        22
    onesuper  
       2016-12-01 10:49:11 +08:00
    计算机中的空间是某种信息量的物理存储(比特位的反转),时间则是计算出相应状态的 CPU cycle 数量。

    可以 trade one for another ,但不是等价关系
    nozama
        23
    nozama  
       2016-12-01 11:24:54 +08:00
    我也思考过这个问题。我觉得:是。

    @q397064399 假如用多线程来排序,某种角度上,就可以认为是“空间换时间”。用 cpu 的空间、 Ram 的空间 来换取宏观上的时间。
    cabing
        24
    cabing  
       2016-12-01 13:58:40 +08:00
    推荐阅读深入理解计算机原理
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2568 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:13 PVG 12:13 LAX 21:13 JFK 00:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86