llvm

定点数优化:性能成倍提升

旧街凉风 提交于 2020-11-02 02:40:57
定点数优化:性能成倍提升 韦易笑 ​ 游戏开发、编程、游戏等 4 个话题下的优秀回答者 495 人赞同了该文章 定点数这玩意儿并不是什么新东西,早年 CPU 浮点性能不够,定点数技巧大量活跃于各类图形图像处理的热点路径中。今天 CPU 浮点上来了,但很多情况下整数仍然快于浮点,因此比如:libcario (gnome/quartz 后端)及 pixman 之类的很多库里你仍然找得到定点数的身影。那么今天我们就来看看使用定点数到底能快多少。 简单用一下的话,下面这几行宏就够了: #define cfixed_from_int(i) (((cfixed)(i)) << 16) #define cfixed_from_float(x) ((cfixed)((x) * 65536.0f)) #define cfixed_from_double(d) ((cfixed)((d) * 65536.0)) #define cfixed_to_int(f) ((f) >> 16) #define cfixed_to_float(x) ((float)((x) / 65536.0f)) #define cfixed_to_double(f) ((double)((f) / 65536.0)) #define cfixed_const_1 (cfixed_from_int(1)) #define

Linux内核5.9于2020年10月12日发布

梦想的初衷 提交于 2020-10-14 16:01:29
5.9内核已于48分钟前发布: 主要的变更如下(引用自:https://www.phoronix.com/scan.php?page=article&item=linux-59-features&num=2): Processors / Platforms - FSGSBASE is finally mainlined in offering various performance benefits. - The Intel P-State driver for frequency scaling now supports operating in passive mode with hardware p-states (HWP) enabled. - P2PDMA is now enabled for usage with all AMD Zen CPUs and newer for peer-to-peer direct memory access between multiple PCI Express devices. - Continued POWER10 enablement for these upcoming IBM/OpenPOWER processors. - Improved TLB flushing on OpenRISC. - Intel Keem Bay

Unity2019 Dots初试

荒凉一梦 提交于 2020-10-05 06:31:37
主要参考Unity Connect上面的文章,原文链接: https://connect.unity.com/p/unityecs-yi 按照文章,是创建 100x100 的立方体,以噪声作为Y轴值,进行波浪动作。 测试环境 Unity 2019.4.2f1 (64-bit) 安装最新的Package 测试结果 原始组件模式:15-16fps ECS+JobSystem:60-70fps ECS+JobSystem+Burst:120-180fps 本文转自https://blog.csdn.net/cp790621656/article/details/107127880 ECS模式 ECS是一种设计思想,和Unity之前的Component设计模式一样。并不限定在Unity中,任何语言都可以实现ECS模式。 Unity的ECS并不仅仅实现这种模式,在这之后做了CPU缓存优化,提升了CPU缓存填充率,从而命中率提高。 另一方面,使用Struct替代Class,以及Collections扩展包中提供大量Native容器,减少GC。 JobSystem 如果只有ECS,那么并没有想象中的那么好,游戏仍然以单线程运行,现代移动CPU核心多以10计,一直都是一核有难,9核围观。 JoySystem 就是将复杂的运算,分布在不同的CPU核心中。 原始组件模式

clang-format 的 BasedOnStyle 选项的区别比较

有些话、适合烂在心里 提交于 2020-09-30 03:41:30
clang-format现支持以下代码风格: LLVM, GNU, Google, Chromium, Microsoft, Mozilla, WebKit 使用类似下面的命令行可以输出其具体选项: clang-format --style=LLVM --dump-config 其输出结果类似YAML,所以写了个小程序,自动生成Markdown的表格。 以下为应用程序( github源码 )自动生成: 来源: oschina 链接: https://my.oschina.net/krysl/blog/4548315

Setting path to Clang library in CMake

夙愿已清 提交于 2020-08-26 07:41:57
问题 I build llvm from git and want to use the libraries in a project, especially the libclang. The "makefiles" are generated by means of CMake and for the LLVM part I found the setting LLVM_DIR to reroute the path for the llvm libraries, but for Clang I cannot find such a variable and I still see in my link line (it is a Cygwin system): /usr/lib/libclang.dll.a /usr/lib/libclangTooling.dll.a . Question: which environment variable do I set to get the right build Clang libraries? 回答1: The variable