V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 41 页 / 共 123 页
回复总数  2453
1 ... 37  38  39  40  41  42  43  44  45  46 ... 123  
2021-03-26 19:33:19 +08:00
回复了 RedBlackTree 创建的主题 程序员 请教大家关于多核并发编程中, cache 一致性的问题
缓存一致性( Cache Coherence )保证的就是不同 cache 的视图是一样的,所以只要是 cache coherent 的系统,当一个 cache 中的数据发生变化时,其他 cache 中对应的数据也会发生变化。
楼主描述的“线程 A 对 V1 的修改,应该对内存和线程 B 都是不可见的,直到未来某一时刻 A 的 cache 刷回内存,B 所在的 CPU2 中的 cache line 才会被标记为失效,之后才能读到 A 对 V 的修改”不符合缓存一致性的定义。

但是完全实现这一保证,性能会出问题——处理器在执行 store 操作之前,需要告诉所有其他处理器这个 cacheline 被 invalidate 了,然后还需要等其他处理器回复,才能完成 store 操作。但是大多数情况下我并不需要等这个 store 。所以就出现了 store buffer 缓存 store 操作,但是为了保证本处理器的程序顺序正常,store buffer 必须配合 load-to-store forwarding,然后就出现了本处理器和其他处理器所感知到的程序顺序不一样的问题,以及可见性的问题。
再往后去看 Memory Barriers: a Hardware View for Software Hackers

当然好像在各路 Java 教材中,“懒得刷进主存的 ‘cache’”事实上替 store buffer 之类的优化背了锅。
@gBurnX
> 星际因为早期这种架构,出现了联机下的资源修改挂,后来的版本通过使用混合模式,修复了这个问题。

来源请求
@gBurnX
> 另外楼上有些小伙伴说了帧同步,实际上没有纯粹的帧同步游戏,不然只要有网络延迟,游戏的不同步率只会越来越大。
> 帧同步率的游戏,其实是帧同步 + 每隔一段时间( 1s )的全局状态同步。当年 war3 和 starcraft 的联机挂就是针对全局同步的漏洞来实现联机时资源修改的功能。

来源请求
看到提到帧同步,可以参考一下这个文章
https://zhuanlan.zhihu.com/p/165293116 关于 “帧同步”说法的历史由来

另外还有一些整活的: https://www.forrestthewoods.com/blog/tech_of_planetary_annihilation_chrono_cam The Tech of Planetary Annihilation: ChronoCam
2021-03-21 19:22:48 +08:00
回复了 HeapOverflow 创建的主题 程序员 官网设计对于项目就相当于换衣服对于人
> 如果没有官网,一般是不会看下去的

没有官网其实就说明人家本来就不想让你看了
2021-03-20 19:55:18 +08:00
回复了 xpde 创建的主题 Python 使用强类型的编程语言是否更有利于编程和数据分析?
可是 Python 本来(一般来说)就是强类型的啊 ...
2021-03-20 19:09:02 +08:00
回复了 l947 创建的主题 知乎 三星堆遗址有重大发现是不是意味着地球要进入修仙时代了
@cmostuor 我说的是“为什么苏格兰人阿帕奇人好像都要比汉人要’纯’”
2021-03-20 18:53:47 +08:00
回复了 piqizhu8 创建的主题 问与答 编译原理 这本书里,为什么不直接讲解 BNF 呢?
不如说说你觉得利用 BNF 能怎么简化内容?
2021-03-20 18:39:14 +08:00
回复了 l947 创建的主题 知乎 三星堆遗址有重大发现是不是意味着地球要进入修仙时代了
@cmostuor 我看你这里面什么苏格兰人阿帕奇人好像都要比汉人要“纯”?

算了,说说我自己吧,自己的姓是神圣罗马帝国记载查理四世得姓的七大选帝侯的姓,祖辈也一直在勃兰登堡。一直以来都认为自己是正宗的日耳曼子孙。结果做了基因测试,发现德意志只有 71%,还有 26%的波兰语族血统,最可怕的是还有 2%的犹太族。目前排查下来主要是我外祖母的原因,她祖辈生活在东普鲁士,带来了夷狄的血。看要结果可以说非常懊恼,多年以来的信仰崩塌了,感觉活下去的动力都没了。蛮夷的血在身体里流淌,都想把自己送进毒气室。Hitler 也不想 Heil 了,军官服也都烧了,一个下午都吃不进东西。我该怎么办?

(来自 https://www.zhihu.com/question/449669984/answer/1784520855
2021-03-20 18:28:48 +08:00
回复了 auto8888 创建的主题 C++ 源代码行数多时如何提高编译速度?
其实这帖子整体暴露出了传统功夫 ... 传统编译器普遍具备的两个弱点,一个是并行编译和增量编译完全依赖于“文件”,另一个是 LTO 难以并行化
其实编译器实现中,编译过程最通用的结构是函数,"compilation unit"这一级别的概念并不强(更多是起一个“上下文环境”的作用),但是现在很多静态编译器还是按照绝大多数主流编程语言“文本+文件”的历史惯性,直接按照文件编译,一个文件过大直接卡整个编译过程,增量编译也是直接比较修改时间,只能说还好 Java 的优化主要靠 JIT ...
LTO 就更简单粗暴了,现在大多数 LTO 就相当于帮你把代码拼一块然后优化,一个核编译几十个核围观,项目大的话可以津津有味围观好几十分钟

和编译器无关,另外一个暴露出的 C/C++ 的弱点就是自身的基础设施拉跨(按前端黑话叫“工程化”),以至于经常要靠直接拉源码的方式来引入第三方代码 ...
2021-03-20 18:11:05 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
所谓“择其善者而从之,其不善者而改之”,就算是“不好”的东西,也是有存在的价值的。
何况在计算机的世界里,并不存在绝对的“不好”。类似的问题还有:“既然硬盘这么慢,那么硬盘存在的意义在哪?”,“既然 MP3 音质有损失,那么 MP3 存在的意义在哪?”,“既然 Java 不如 PHP 好用,那么 PHP 存在的意义在哪?”,“既然 64 位浮点数比 32 位浮点数精确,那么 32 位浮点数存在的意义在哪?”“既然我们前端要 UTF-8 Everywhere,那么 GB 18030 存在的意义在哪?”“既然 memory_order_seq_cst 那么好用,那么 memory_order_relaxed 存在的意义在哪?”

都是课本里面讲烂的东西,在这帖子里面重复的意义在哪?
不如整点新活,比如 FP Lives Matter!!!!!1111
2021-03-20 17:52:49 +08:00
回复了 MengiNo 创建的主题 Apple 请问一下内存的速度和容量使用率有直接关系吗
看你说的是什么样的虚拟机,比如我在 Linux 下面用 KVM 跑 Linux 虚拟机,好像就可以虚拟机实际用多少内存在主机分配多少内存,而不是直接把设定的内存限额一梭子全都分配给虚拟机。但是跑 Windows 虚拟机貌似就不行,应该是要内核支持。
所谓统一内存我个人感觉主要是在使用加速器的情况下,提升了内存的使用效率( Apple 传统艺能,告诉你很牛逼,不告诉你怎么牛逼)。楼主这个场景看起来不涉及加速器。
2021-03-20 17:46:24 +08:00
回复了 HeapOverflow 创建的主题 程序员 为什么 D 语言一直不温不热?
好像没几个回复标题问题的。
这么说吧,从整体来看,做编程语言和创业一样,不火或者倒闭是正常现象,火了才是偶然。
(结合某热贴,应该也可以跟买基金股票(限 A 股)相比)
2021-03-20 17:42:51 +08:00
回复了 liudaolunhuibl 创建的主题 Java 都说 Java 是卷王之王,那 Java 到底有多卷?
卷不卷不知道,反正我现在首页 49 个贴子,算上楼主这个有仨 Java 的
2021-03-20 17:38:26 +08:00
回复了 atone 创建的主题 Apple Intel 上线了 Apple M1 vs Intel 的比较页面
@MiracleKagari 前两天的新闻,高通完成对 NUVIA 的收购,之后可能会出笔记本的芯片
说起来 NUVIA 这公司本来是 Apple 芯片团队的人为了做服务器来出来搞的( Apple 不搞服务器),结果一圈下来还是去做了 client ...
VS 能不能把里面那个 main.cpp 在工程里面无视掉 ... 貌似有个叫“Exclude from Project”的功能?
其实一般来讲直接引入 C++ 项目的都是库,不会编译出可执行文件,有的项目既会编译出库也会编译出可执行文件,这种项目一般已经使用了 CMake 之类的工具管理 build 过程
2021-03-20 17:26:14 +08:00
回复了 yiouejv 创建的主题 Lua 为什么游戏架构要用事件来驱动?
感觉像是 push 和 poll 的区别
说起来最近 ECS 好像 hype 蛮多,楼主怎么看 ECS 和事件之间的关系?
2021-03-20 16:49:06 +08:00
回复了 zhuangzhuang1988 创建的主题 知乎 什么是生产力?
从主题内容来看,楼主看来说的不是马克思的“生产力”( force of production )而是 tech 里的“生产力”( productivity )
这么说吧,tech 里的“productivity”自身产生的多义性,是和计算机的广泛应用相关的,各行各业都要用到计算机,而各行各业的具体“生产力”是不一样的。就像楼主提到的,做视频的和做设计的“生产力”是不一样的。才会出现该主题这样的问题。
各行各业内部可以继续细分,写程序的至少语言不一样。做炼丹的有人拿游戏卡炼丹有人拿超算炼丹,做视频的有的做游戏视频有的做三次元现充 vlog
还可以继续细分,每个公司每个部门的具体环境都不一样 ...
tech 里的“生产力”这个词,其实就是试图用有限的 bit,概括不可穷举的具体情况的无谓尝试
2021-03-20 16:15:58 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
既然人类个个都是傻 x,那么人类存在的意义在哪?
1 ... 37  38  39  40  41  42  43  44  45  46 ... 123  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1073 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.