V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 8 页 / 共 123 页
回复总数  2453
1 ... 4  5  6  7  8  9  10  11  12  13 ... 123  
2023-03-30 19:19:14 +08:00
回复了 LianOuPaiGuT 创建的主题 问与答 突然想到一个极端的问题,是不是干坏事社会才能进步?
其实从统计上来看,“正常”的人“正常”的时候,是始终处在一个“business as usual”的状态,就是说今天是这么过的,明天还是这么过的,这顿饭这么吃,下顿饭还是这么吃。
所有的“变化”,无论“进步”与否,都来源于这个“正常”的状态被打破了,很形象的一个例子就是牛顿被苹果砸了一下,然后整出了万有引力定律。当然这个例子不一定是真实的,我想强调的是其背后的逻辑——当有事情发生变化时,相关的人会对其做出反应,这个反应本身又作为一个新的变化继续递归推进这个过程。
这个“变化”不一定非要分“好”“坏”,其导致的结果也不一定要分“好”“坏”,比如疫情蔓延可以提升人们的卫生习惯,而 ChatGPT 诞生后人们又围绕它创造出了一堆工具,而另一方面疫情影响了很多人的生活,而 ChatGPT 出来之后 OpenAI 就被墙了,马一龙看上去也不太高兴。问题是复杂的。

楼主的标题,如果去除价值判断就是“是不是‘变化’社会才会‘变化’”,本来就是个套套逻辑。
2023-03-30 04:10:11 +08:00
回复了 christin 创建的主题 Apple Apple music classical 已出
木有订阅 AM ,但是也可以白嫖元数据和歌单 :)
2023-03-30 02:27:50 +08:00
回复了 johnnyleaf 创建的主题 Python 大家好,想请教一个关于 CPU 与内存运行方式的问题
再次推荐 Memory Barriers: a Hardware View for Software Hackers
或者这个:fgiesen.wordpress.com/2014/07/07/cache-coherency Cache coherency primer | The ryg blog
简单来说,如果 CPU 严格按照缓存一致性协议工作,那对于单个指令对单个 cacheline 的操作,是可以保证原子性的。
但是实际实现中,为了性能,CPU 和缓存都不是教条主义,而可能是机会主义。OoO 核心在做 speculative execution 时,简单的算术指令可以直接由 ALU 执行,结果存放在 PRF 中,但是 store 是有副作用的,数据如果真的存进了 L1D ,那就不是 speculative execution 而是生米煮成熟饭了。所以又加了一层缓存 store buffer ,在 retire 之前,store 的结果只放在这个 buffer 里面,并且随时可以撤回,结果在 retire 之后刷进 L1D ,该 buffer 中的内容只对该 buffer 可见。

锁中包含了 memory barrier ,memory barrier 能绕过这些优化,确保数据的全局可见。
你要到 Resource Monitor 的 Memory tab 下面看(里面的数据是可以拷贝到 Excel 的)
这是个有趣的问题。实际上如果只是想把一个东西做得体积很大很简单,一个真实的故事:
一个算法有 2 个较为固定的参数,每个参数有 5 种可能性,那么如果我把这些参数静态编译进去就是 25 种可能性,如果再考虑到在 5 种不同硬件上的组合,那就是 125 种。如果假设每种的代码有 1KB 大,再有三四十个类似的算法,光这玩意就能整出 4MB 来。

类似地,如果工程中涉及到根据外部数据文件生成可执行代码,如 RPC 协议通信等,随着数据越来越多,附加的代码也会越来越多。

另外,编译器优化也可能导致代码体积的指数增长,常见地例如:
* 如果一个函数里面出现了对其他函数的多次独立调用,而这些函数又被 inline 。该函数实际生成的代码会包含子函数代码的多个拷贝。如果多个函数 inline 了同一个函数,该子函数代码会被在不同函数中多次拷贝。
* 如果一个函数被多次调用,并且调用时使用了常量参数,该函数的代码可能会被拷贝多份,并将常量参数代入其中单独优化。
* 循环的 unroll 会将循环体代码拷贝多份(虽然一般会有一定的长度限制)。
* 循环的向量化会将循环体代码拷贝多份(不同于 unroll ,这个是向量化逻辑所必须的,因此一般不会限制)。

我这有个对比的例子是 GTK3 。目前我这的 GTK3 包一共 49MB ,不过里面有一堆 GTK 元数据和 locale 之类的东西。只看最关键的 libgtk-3.so ,这玩意一共 7.8 MB ,其中 .text 大概有 3.7MB ,由 500 多个 .o 链接而成,这些 .o 的 .text 大小相加和 libgtk-3.so 的 .text 差不多。.text 最大的前 10% 的 .o ,.text 大小加起来大概 1.6MB 。这些 .o 对应的源码大小加起来大概 7.6MB 。总的源码大小是 17MB (只算 .c ,不算 header )。把 .o 的 .text 大小,和对应 .c 文件的大小画个图,可以很清楚地发现 .c 文件的大小大概是 .text 大小的 4-6 倍,平均值是 5 倍左右。

ffmpeg 包一共 37MB ,其中最大的是 libavcodec.so ,15MB 。.text 有 10MB 。大概有 1100 个 .o (我去除了一部分直接汇编出的 .o ,这些 .o 的 .text 加起来大概 1MB )。.text 最大的前 10% 的 .o ,.text 大小加起来大概 5.3MB 。这些 .o 对应的源码大小加起来大概 5.6MB ,总的源码大小是 19MB 。部分 .o 依然满足 4-6 倍的规律,但是整体的分布分散了许多。很多头部的 .o ,其 .c 文件大小是 .text 文件大小的两倍,一倍,甚至零点几倍。总的来说相比 GTK3 ,ffmpeg 编译生成的 .text 要更大。
进一步研究源码发现:
* libavcodec 源码中有很多以 _template.c 结尾的文件,加起来 1MB 左右,这些文件并不会直接编译出 .o (因此并不会计算在上面的 .c 大小上),而主要是被以不同的参数(如位深度)等多次 include 到不同的 .c 中,其实类似于模拟 C++ 的 non-type template parameter 。这些文件中的代码自然也会被拷贝多份。
* 部分源码大量使用了定义宏再多次以不同参数使用宏的技巧,这个还是类似于 non-type template parameter ,同样会导致同样的代码被拷贝多份。
* .o 中的代码存在大量 inline 的痕迹。也出现了一些 constprop 函数。源码中大量函数标记了 always_inline 。

#14 的链接中指出使用 --enable-small 选项(即指示编译器优先优化代码体积)可以数倍降低 libavcodec.so 的大小。暗示编译器优化是巨大体积的重要因素。不过我实测的效果并没有那么吼,.text 大概降低了 40% 左右。相对地,libgtk-3.so 降低了不到 20%。不过确实可以看到很多的 .o 文件 .text 大小成倍地缩小。GTK3 则鲜有缩小超过 30% 的 .o 。
2023-03-25 22:55:23 +08:00
回复了 Heo 创建的主题 Windows 如何评价新版 windowsQQ 采用 32 位
@kkocdko 随便暴论一下 ... 不过这个指针压缩倒是新知识

看了下:
v8.dev/blog/pointer-compression Pointer Compression in V8 · V8
v8.dev/blog/oilpan-pointer-compression Pointer compression in Oilpan · V8
文章写得很好,走过路过不要错过
2023-03-24 19:44:17 +08:00
回复了 tg11 创建的主题 程序员 求推荐带 GUI 的 Linux 系统
在“投入挺大”的微软把 github.com/microsoft/WSL/issues/6982 这个挂了快两年的严重影响可用性的 bug 解决之前,不推荐使用 WSL2 。
Native Linux 最多只需要对付一个 NVIDIA 驱动,现代 Windows 到处都是 NVIDIA 驱动 ...
2023-03-24 19:30:55 +08:00
回复了 pocarisweat 创建的主题 macOS 分享一个有关 M 系芯片内存和 swap 管理问题的视频
哈哈 你也看情書老師嗎?
2023-03-24 19:26:52 +08:00
回复了 Heo 创建的主题 Windows 如何评价新版 windowsQQ 采用 32 位
挺好的,32 位程序里面的指针大小比 64 位小一半。用 32 位可能是为了优化内存占用。
2023-03-20 01:51:11 +08:00
回复了 ecee 创建的主题 硬件 新电脑配件快到了,请大家指导下
CPU 降级的话可能水冷也省了,随便一个便宜风冷应该就行。
水冷最大的问题倒不是价格,这两年价格都在卷。主要是它是个可能的不稳定因素,尤其是对于工作机。

然后我发现你好像没加独显,如果要装 Windows 虚拟机的话,为了 GUI 运行流畅最好还是把 GPU passthrough 过去。然后你这机器里面只有 iGPU 一个 GPU 。我没搞过 single-GPU passthrough ,我猜你这么搞最好的结果就是一个 iGPU 切换着用(然后在 Windows 里面 SSH 进 Linux host ,which 效果跟装 Linux 虚拟机好像区别不大 ...),并且配置起来可能会比较折腾。
你可以等装好之后试一下,如果没法接受的话可能需要淘宝或者咸鱼再收一张亮机卡,做到 host 和 guest 有独立的视频输出。
2023-03-20 01:01:51 +08:00
回复了 ecee 创建的主题 硬件 新电脑配件快到了,请大家指导下
如果你主要是在 Windows 下工作,为什么 host 要装成 Linux (还是 Arch 这种维护成本略高的 distro )再虚拟工作环境,而不是反过来,不是很理解。
而且这个钱是楼主自己出还是公司出?自己出钱的话上旗舰 CPU 有多大必要?印象中 .NET 编译并不是很耗性能
2023-03-20 00:28:35 +08:00
回复了 andyJado 创建的主题 程序员 PDF 是自学者的噩梦,读 Anders 的 Static Program Analysis 窒息
你说的是这本书 https://cs.au.dk/~amoeller/spa
这 PDF 做得不是挺好的么,跳转,复制,搜索都可以

因为以前用过这书,我 iPad 里面有一份 2018 年 10 月版的,我看了一下里面的指针不是上箭头,而是"&"符号
这个 notation 的问题,可以看一下 Guy Steele 的这个 talk: https://www.youtube.com/watch?v=dCuZkaaou0Q It's Time for a New Old Language (The most popular programming language in computer science)
ChatGPT 翻译有时会自己脑补

比如 https://ru.wikipedia.org/wiki/Yadro 这个,最后“Санкции”这段里面的“компания Yadro включена в блокирующий санкционный список США”给我翻译成“Yadro was included in the US Treasury's Office of Foreign Assets Control's (OFAC) Specially Designated Nationals and Blocked Persons List (SDN List)”。原文根本没这么长,直译应该是“US blocking sanction list”,追问一下解释说这个 list“is commonly understood to refer to the OFAC SDN List”
2023-03-18 22:01:23 +08:00
回复了 dariner 创建的主题 OpenAI 看看这个计算结果是怎么回事 我用别人的 chatgpt 也这样
试试这个:

> 1 + 1 + 1 + 1 + 1 + 4 + 6 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = ?

> Let's think step by step:
2023-03-17 21:49:27 +08:00
回复了 sxw11 创建的主题 SSD 长江存储真的靠谱吗
没有绝对靠谱,只有相对靠谱。三星以前都觉得靠谱,不该炸的还是炸
2023-03-17 21:47:30 +08:00
回复了 lhbc 创建的主题 奇思妙想 这波 AI 浪潮可以助推四天工作制甚至三天工作制吗?
最近公司在搞 WFH ,这个逻辑链条是这样的:
(疫情强制短期 WFH 需求 => 硬件上做好准备) + (疫情导致经济下滑 => 需要节省工位固定成本) => 常态化 WFH ,应 WFH 尽 WFH
你看看在这样一个转变里,哪个是“效率提升”有关系。这里面甚至就没一个好事
2023-03-16 22:35:43 +08:00
回复了 Felldeadbird 创建的主题 iOS IOS 是不是存在存储空间占用 BUG?
我的感觉,iOS 的“System Data”就是用 总空间-可用空间-sum(所有其他已知空间占用)
Android 貌似也存在类似情况:twitter.com/Golden_Reviewer/status/1622851534563471360

另外 App 单项的统计也有可能不准,比如我有台老手机一共 64G ,但是有 36G 的 System ,我倒是十分清楚这里面起码一半是 QQ 和小而美,但是 iOS 直接放弃继续统计了,QQ 和小而美只显示 App Size ,Data Size 显示 2^64-1 。
2023-03-16 21:43:05 +08:00
回复了 viosey 创建的主题 Steam 其实 Steam 就没有好玩的模拟经营游戏!
RimWorld 是个好游戏,我觉得它最成功的点在“合适”,大多数玩家希望游戏有一定的复杂度,但不希望太复杂,RimWorld 就卡在了这个点上,属实是游戏里的 macOS 了。由于玩家群体大 RimWorld 也有很丰富的 mod ,原版随便玩玩就可以入 mod 坑了。按照习惯的分类,RimWorld 这类游戏貌似是叫 colony sim ?
“太复杂”的游戏最近正好也冒了头,就是 Dwarf Fortress ,我是打算入坑但是可预见的未来估计没啥时间。

类似地,CSL 也是卡在一个点上,既能造大城,又有好的 mod 接口。这类一般叫 city builder 。为了庆祝某会胜利闭幕,我推荐楼主玩 Workers & Resources: Soviet Republic ,体验一下做总加速师的感觉。这游戏和其他 city builder 不一样的地方在于它有一点像 colony sim ,更注重全产业链和“内循环”,确实比较应景。类似的最近还看到一个 Captain of Industry ,还没买。

我 #24 说的 Banished-like 游戏,又很像是卡在了它们中间——因为一个简单的区分就是人口规模,colony sim 一般最多几十上百人,Banished-like 后期大概有几百人,city builder 就是几千上万起步了。
我遇到的一个例外是 Song of Syx ,这游戏玩着更像 colony sim ,但是地图很大,能做到上万人。

我很爱的另一个 genre 是 4X 。4X 这玩意名义上不算小众,但是你会发现能拿的出手的就文明系列一个。但是实际上 4X 这个名字并不是文明发明的,它是在另一个经典游戏 Master of Orion 的评测中首次出现的。有人说过,CGI 就是为了做宇宙飞船而生的。在我眼中,4X 和太空游戏(虽然我们 RA3 玩家一般叫查丹科游戏)天然匹配,毕竟迦太基的棒槌三千年如一日地一直在敲打瑞典的一条狗实在太过抽象。从 Master of Orion 衍生出了大量 Space 4X 游戏。Stellaris 就是其中之一,这货虽然 PDS 玩家很熟悉,但是貌似在 MoO 基要主义饭圈眼中属于做得比较一般的那类——尤其是 MoO 现在有很多重制或无限接近重制的衍生,比如 MoO1 的开源复刻 1oom 和重制 Remnants of the Precursors (没有开源复刻的游戏不配称为经典游戏 :D )。
不过我觉得现在最值得一提的还是 Distant Worlds 。策略游戏有一个大问题就是后期操作会变得很繁琐,Sid Meier 说他认为文明(以及类似的 4X 游戏)"just one more turn"魅力的重点在于玩家同时在追求短期、中期,以及长期目标(这个放在 PDS 这种即时制里也成立,只不过变成了"just one more year")。但是另一面是当玩家管理的东西多了之后,实现中期和长期目标会伴随大量无关的操作。Distant Worlds 的特点在于它引入了 Automation ,就是 AI 帮你控制一部分东西,这样可以部分缓解这一问题,并且开辟出了全新的玩法:你可以全部手操,也可以只控制一艘船或一个舰队,或者只种田电脑帮你打仗。不过作为探索的第一步,不得不说还是非常 primitive 的状态。
另一个我很喜欢的是 Shadow Empire 。这个是 4X 和 Wargame 的结合。肾么事 Wargame ?简单来说,六边形网格+NATO 兵牌+回合制+恨不得跟 Intel SDM 一样厚的 manual ,看上去像爷爷辈玩的就是 wargame 的典型特征,比如 Gary Grigsby 系列,更熟悉的可能是 HoI3 。另外然后还有非常露骨的抽卡要素 ...

我现在比较喜欢的一个找游戏方式就是 SteamDB 点开一个 tag ,然后按评分排序,点进去看评论。不过这样也容易错过一些好东西,比如上面这俩货都不在前面,部分原因是 UI 都是用 Win32 级别的东西写的,确实很有爷爷辈的感觉。不得不承认很多 N 线小游戏有一堆问题,但是有很多有意思的点,玩进去之后上头——就像最近看到一些 Windows 玩家宁愿折腾 Linux 也要在 A 卡上跑 Stable Diffusion 。
2023-03-16 19:25:19 +08:00
回复了 viosey 创建的主题 Steam 其实 Steam 就没有好玩的模拟经营游戏!
@efcndi Banished 这个游戏很神奇,一个人开发的,结果事实上开创了一个 genre 。这十年来有很多的游戏都是基于 Banished 的 idea 或受其强烈影响做的,包括但不限于 Ostriv, Patron, Going Medieval, Kingdoms and Castles, Settlement Survival, Against The Storm, Foundation, Farthest Frontier, Timberborn ... 结果好像 Banished 的原开发者自己跑路了 ... 路了 ... 了 ...
1 ... 4  5  6  7  8  9  10  11  12  13 ... 123  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5617 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 08:07 · PVG 16:07 · LAX 00:07 · JFK 03:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.