下列关于编程优化的说法正确的是()A、使用编译器的优化选项后程序性能一定会获得提高B、循环展开得越多越彻底,程序的性能越好C、寄存器分配能够解决程序中的数据依赖问题D、现代主流C/C++编译器可以对简单的小函数进行自动Iinline

题目

下列关于编程优化的说法正确的是()

  • A、使用编译器的优化选项后程序性能一定会获得提高
  • B、循环展开得越多越彻底,程序的性能越好
  • C、寄存器分配能够解决程序中的数据依赖问题
  • D、现代主流C/C++编译器可以对简单的小函数进行自动Iinline

相似考题
更多“下列关于编程优化的说法正确的是()A、使用编译器的优化选项后程序性能一定会获得提高B、循环展开得越多越彻底,程序的性能越好C、寄存器分配能够解决程序中的数据依赖问题D、现代主流C/C++编译器可以对简单的小函数进行自动Iinline”相关问题
  • 第1题:

    ●以下关于C语言与C++语言的叙述中,正确的是(32)。

    (32)

    A.只要将C程序的扩展名.c改为.cpp,就可将过程式的C程序转换为面向对象的C++程序

    B.由于C++是在C的基础上扩展的,所以C++编译器能编译C源程序

    C.在C程序中,也可以用结构体类型定义类

    D.与C不同,C++程序中的函数必须属于某个类


    正确答案:B

  • 第2题:

    利用ICC实现的优化属于()

    • A、由编译器自动完成优化
    • B、工具辅助的优化
    • C、使用高性能库
    • D、人工优化

    正确答案:A

  • 第3题:

    编译器对应用程序的优化编译会增加控制指令在程序中所占的比例。


    正确答案:正确

  • 第4题:

    以下选项中是妨碍优化程序性能的因素的是()

    • A、存储器别名使用
    • B、函数调用
    • C、使用局部变量
    • D、A和B

    正确答案:D

  • 第5题:

    关于现代处理器,下列说法正确的是()

    • A、程序性能的优化没有终极限制
    • B、在实际的现代处理器中,是可以同时对多条指令进行求值
    • C、任何指令之间均可以进行并行执行
    • D、使用更多的变量进行流水线并行计算可以提高程序的性能

    正确答案:B

  • 第6题:

    借助IntelIPP实现属于()

    • A、由编译器自动完成优化
    • B、工具辅助的优化
    • C、使用高性能库
    • D、人工优化

    正确答案:C

  • 第7题:

    下列使用编译器优化的说法正确的是:()。

    • A、在使用编译器优化中,只有使用编译器优化解决性能问题才能产生执行速度的明显改变
    • B、在使用编译器优化中,只有升级硬件设备才能产生执行速度的明显改变
    • C、在使用编译器优化中,只有逻辑方面的优化才能产生执行速度的明显改变
    • D、在使用编译器优化中,只有算法方面的优化才能产生执行速度的明显改变

    正确答案:D

  • 第8题:

    单选题
    借助IntelIPP实现属于()
    A

    由编译器自动完成优化

    B

    工具辅助的优化

    C

    使用高性能库

    D

    人工优化


    正确答案: A
    解析: 暂无解析

  • 第9题:

    单选题
    下列关于编程优化的说法正确的是()
    A

    使用编译器的优化选项后程序性能一定会获得提高

    B

    循环展开得越多越彻底,程序的性能越好

    C

    寄存器分配能够解决程序中的数据依赖问题

    D

    现代主流C/C++编译器可以对简单的小函数进行自动Iinline


    正确答案: D
    解析: 暂无解析

  • 第10题:

    判断题
    在C编译器的优化选项中,-n项的作用是对文件级的程序进行优化。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第11题:

    单选题
    下列使用编译器优化的说法正确的是:()。
    A

    在使用编译器优化中,只有使用编译器优化解决性能问题才能产生执行速度的明显改变

    B

    在使用编译器优化中,只有升级硬件设备才能产生执行速度的明显改变

    C

    在使用编译器优化中,只有逻辑方面的优化才能产生执行速度的明显改变

    D

    在使用编译器优化中,只有算法方面的优化才能产生执行速度的明显改变


    正确答案: C
    解析: 暂无解析

  • 第12题:

    单选题
    关于提高程序的并行性,下列说法不正确的是()
    A

    可以将组合运算进行合理的分割,最后合并结果来提升性能

    B

    使用并行计算时可与循环展开同时使用,来提升程序性能

    C

    编译器如GCC能智能识别出代码改动,并作出合理的程序优化

    D

    重新结合变换可以搭配顺序相关性能,从而提高程序性能(打破顺序相关)


    正确答案: B
    解析: 暂无解析

  • 第13题:

    PGO优化属于()

    • A、由编译器自动完成优化
    • B、工具辅助的优化
    • C、使用高性能库
    • D、人工优化

    正确答案:B

  • 第14题:

    通过编译器对程序优化来改进Cache性能的方法有哪几种?简述其基本思想。


    正确答案: (1)数组合并,通过提高空间局部性来减少失效次数。有些程序同时用相同的索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这些相互独立的数组合并成一个复合数组,使得一个Cache块中能包含全部所需元素。
    (2)内外循环交换。循环嵌套时,程序没有按数据在存储器中的循序访问。只要简单地交换内外循环,就能使程序按数据在存储器中的存储循序进行访问。
    (3)循环融合。有些程序含有几部分独立的程序断,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。通过将它们融合成一个单一循环,能使读入Cache的数据被替换出去之前得到反复的使用。
    (4)分块。通过改进时间局部性来减少失效。分块不是对数组的整行或整列进行访问,而是对子矩阵或块进行操作。

  • 第15题:

    关于编译器优化,说法不对的是()

    • A、指针的使用会妨碍优化
    • B、函数调用会妨碍优化
    • C、可以用内联函数替换来优化函数调用
    • D、应最大程度的优化,而不仅限于安全的优化

    正确答案:D

  • 第16题:

    关于循环展开,下列说法不正确的是()

    • A、循环展开能够能减少一些不必要的循环索引计算和条件分支
    • B、循环展开需要确保第一次循环不会超出数组的界限
    • C、循环展开只能改进整数加法和成分的性能
    • D、现代编译器如GCC无法进行循环展开

    正确答案:D

  • 第17题:

    在某些极端要求性能的场合,我们需要对程序进行优化,关天优化,以下说法正确的是()

    • A、将程序整个用汇编语言改写会大大提高程序性能
    • B、在优化前,可以先确定哪部分代码最费时,然后对这部份代码用汇编改写,使用汇编的语句越少,程序运行的越快。
    • C、使用汇编语句虽然可以提高程序的性能,但会降低程序的可移植性,所以应该绝对避免
    • D、适当调整汇编指令的顺序,可以缩短程序的运行时间

    正确答案:D

  • 第18题:

    关于提高程序的并行性,下列说法不正确的是()

    • A、可以将组合运算进行合理的分割,最后合并结果来提升性能
    • B、使用并行计算时可与循环展开同时使用,来提升程序性能
    • C、编译器如GCC能智能识别出代码改动,并作出合理的程序优化
    • D、重新结合变换可以搭配顺序相关性能,从而提高程序性能(打破顺序相关)

    正确答案:D

  • 第19题:

    单选题
    PGO优化属于()
    A

    由编译器自动完成优化

    B

    工具辅助的优化

    C

    使用高性能库

    D

    人工优化


    正确答案: C
    解析: 暂无解析

  • 第20题:

    单选题
    关于现代处理器,下列说法正确的是()
    A

    程序性能的优化没有终极限制

    B

    在实际的现代处理器中,是可以同时对多条指令进行求值

    C

    任何指令之间均可以进行并行执行

    D

    使用更多的变量进行流水线并行计算可以提高程序的性能


    正确答案: B
    解析: 暂无解析

  • 第21题:

    单选题
    关于循环展开,下列说法不正确的是()
    A

    循环展开能够能减少一些不必要的循环索引计算和条件分支

    B

    循环展开需要确保第一次循环不会超出数组的界限

    C

    循环展开只能改进整数加法和成分的性能

    D

    现代编译器如GCC无法进行循环展开


    正确答案: A
    解析: 暂无解析

  • 第22题:

    单选题
    关于编译器优化,说法不对的是()
    A

    指针的使用会妨碍优化

    B

    函数调用会妨碍优化

    C

    可以用内联函数替换来优化函数调用

    D

    应最大程度的优化,而不仅限于安全的优化


    正确答案: B
    解析: 暂无解析

  • 第23题:

    问答题
    通过编译器对程序优化来改进Cache性能的方法有哪几种?简述其基本思想。

    正确答案: (1)数组合并,通过提高空间局部性来减少失效次数。有些程序同时用相同的索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这些相互独立的数组合并成一个复合数组,使得一个Cache块中能包含全部所需元素。
    (2)内外循环交换。循环嵌套时,程序没有按数据在存储器中的循序访问。只要简单地交换内外循环,就能使程序按数据在存储器中的存储循序进行访问。
    (3)循环融合。有些程序含有几部分独立的程序断,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。通过将它们融合成一个单一循环,能使读入Cache的数据被替换出去之前得到反复的使用。
    (4)分块。通过改进时间局部性来减少失效。分块不是对数组的整行或整列进行访问,而是对子矩阵或块进行操作。
    解析: 暂无解析