zoukankan      html  css  js  c++  java
  • 酷壳上的一道面试题

    又一个有趣的面试题里看到的一道题目,原因看过《深入计算机体系结构》应该就能明白。

    题目如下

    有两个相同功能代码如下,请在在A,B,C是什么的情况下,请给出三个原因case 1比case 2快,还有三个原因case 2会比case 1要执行的快。(不考虑编译器优化)

    case 1
    for (i=0; i<N; ++i){
    A;
    B;
    C;
    }
    case 2
    for (i=0; i<N; ++i){
    A;
    }
    for (i=0; i<N; ++i){
    B;
    }
    for (i=0; i<N; ++i){
    C;
    }
    我的解法
    int length = 10000;
    int[,] a = new int[
    length , 
    length ];
    int[,] b = new int[length, length];
    int[,] c = new int[length, length];
    Stopwatch watch = new Stopwatch();
    watch.Start();
    for (int i = 0; i < length; i++)
    {
    int temp = 0;
    temp = a[i, i];
    temp = b[i, i];
    temp = c[i, i];
    }
    watch.Stop();
    Console.WriteLine(“case 1:” + watch.ElapsedMilliseconds);
    watch.Restart();
    for (int i = 0; i < length; i++)
    {
    int temp = 0;
    temp = a[i, i];
    }
    for (int i = 0; i < length; i++)
    {
    int temp = 0;
    temp = b[i, i];
    }
    for (int i = 0; i < length; i++)
    {
    int temp = 0;
    temp = c[i, i];
    }
    watch.Stop();
    Console.WriteLine(“case 2:” + watch.ElapsedMilliseconds);


  • 相关阅读:
    js插件-图片椭圆轮播效果
    js-放大镜效果
    vue使用技巧,及遇到的问题
    vue的传参方式和router使用技巧
    关于new Date()的日期格式处理
    图片上传预览
    缓动动画的原理
    input不能输入汉字和负数
    上传格式判断方法
    Vue-cli3.0配置全局less
  • 原文地址:https://www.cnblogs.com/brightwang/p/2497603.html
Copyright © 2011-2022 走看看