1 
                    
                    aheadlead      2015-11-03 21:09:13 +08:00 
                    
                    要考虑 cache 的吗? 
                 | 
            
     2 
                    
                    wsy2220      2015-11-03 21:16:22 +08:00 
                    
                    很可能一次都不需要,因为这几个变量寄存器就能放下。得看编译以后的汇编代码. 
                 | 
            
     3 
                    
                    xiaoxiaoyang   OP @aheadlead  
                那如果把 cpu+cache 算一个整体的话,访问内存次数?  | 
            
     4 
                    
                    kkhaike      2015-11-03 21:19:48 +08:00 
                    
                    你要说不考虑任何优化 
                 | 
            
     5 
                    
                    xiaoxiaoyang   OP  | 
            
     6 
                    
                    xiaoxiaoyang   OP @kkhaike  
                如果不优化,有没有方法可以确定呢?  | 
            
     7 
                    
                    wsy2220      2015-11-03 21:29:07 +08:00 
                    
                    @xiaoxiaoyang 要确定实际访问了几次只能看汇编... 
                 | 
            
     8 
                    
                    kkhaike      2015-11-03 21:32:10 +08:00 
                    
                    你问的问题和回答都很奇怪。。 
                第一个回答。难道不是一个整体? 第二个回答。意义在哪里? 第三个回答。就算不优化也只是理论上的推测,但看你的问题完全就是想“测定”这个东西。 你到低腰干啥?  | 
            
     9 
                    
                    xiaoxiaoyang   OP @kkhaike  
                就是想尝试看看,如果程序很大的话,那个 for 循环里的代码访问内存的次数。  | 
            
     10 
                    
                    Cu635      2015-11-03 22:13:07 +08:00 
                    
                    lz ,你这是在写作业么? 
                这个问题一般是 benchmark 时候分析性能针对性的优化时候需要的,这个场景下是要考虑寄存器和缓存的,访存就是指访问主内存。做性能分析解决性能瓶颈。 如果说这是在学习计算机组成原理或者 C 语言的时候的作业,你得去问问老师到底是在什么前提下考虑问题。  |