V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  secondwtq  ›  全部回复第 47 页 / 共 123 页
回复总数  2442
1 ... 43  44  45  46  47  48  49  50  51  52 ... 123  
这不是史上最坑面试题 fizzbuzz 么……
别问了,99.5%的程序员都不会的
2020-11-24 11:53:22 +08:00
回复了 ZCPgyer 创建的主题 推广 15 分钟就能学会一种语言?
二维码呢,楼主最后那么大一个二维码呢?
2020-11-24 02:09:02 +08:00
回复了 wslzy007 创建的主题 信息安全 vps:一种安全访问 ssh 的方法
前段时间在 GitHub 上看到个项目: https://github.com/skeeto/endlessh
大致思路是故意打开 22 端口,并且接受所有连接,但是不进行真实的数据交换,就在那拖着
Safari 就不会有这个问题(
2020-11-24 01:51:59 +08:00
回复了 GTD 创建的主题 Java jdk 8 怎么和 jdk 15.1 差距这么大?
分代 GC 需要加 Write Barrier 跟踪不同代对象之间的相互引用,G1 GC 相比 Parallel GC,Write Barrier 涉及的指令更多(实际并没有触发 GC,而是多执行了 10%-20% 的指令)。

Epsilon GC 作为 placeholder,并不需要 Write Barrier 。但是直接用 Epsilon GC 效果并不会更好,原因应该是 C2 犯了傻逼,在 JIT 时把一个判断子类型的检查提到了外面,正常情况这个检查不会被触发,但是只要被触发很有可能失败,所以 JIT 的函数没法用,只能用 OSR 的。OSR 的循环并没有 JIT 更优化,特别是 CompressedOops 这时又占了很多指令,用 -XX:-UseProfiledLoopPredicate 可以把这个行为纠正回来( JDK 8 好像没有这个参数)。再加 -XX:-UseCompressedClassPointers 可以进一步减少指令数。
(或者可以不用 -XX:-UseProfiledLoopPredicate,换成 -XX:-UseCompressedOops,但是这样还是会跑 OSR 循环,效果不如 JIT 好,尤其是变量 t 的访问没有优化)

至于为啥倒霉的是插入排序,因为只有插入排序才需要在 inner loop 里面折腾引用值的赋值。别问,问就是天灭 Type Erasure,退 Java 保平安。祝楼主早日获得新生。
2020-11-19 21:46:28 +08:00
回复了 1sm23 创建的主题 Apple IBM 分析:苹果用 M1 芯片, 1 年可省 25 亿美元硬件成本
M1=A14Z+++,你觉得研发能花多少钱?
2020-11-19 21:17:12 +08:00
回复了 GTD 创建的主题 Java jdk 8 怎么和 jdk 15.1 差距这么大?
你这代码根本就没法用来做 benchmark
我记得 Java 做性能测试要用一个专门的库。JVM 会有一个 JIT 的策略,决定什么时候优化哪里的代码,不同的 JVM 版本这个可能会变。要测试性能,你得把这个拉平了。
如果最后在同样的优化等级下还是有 regression 的话,那恭喜楼主可以给 JVM 贡献代码了。
说起 Proton,最近微软也在折腾 Mesa,要在 Windows + DX12 上面跑 OpenGL + OpenCL
https://www.phoronix.com/scan.php?page=news_item&px=OpenCL-OpenGL-DX12-Progress
2020-11-18 12:42:05 +08:00
回复了 wangyzj 创建的主题 macOS 哪位老哥能解释一下 Rosetta 的实现原理?
关键词 Dynamic Binary Translation
2020-11-17 21:01:28 +08:00
回复了 noe132 创建的主题 浏览器 Speedometer2.0 跑分请使用 匿名模式跑分
这事就挺纠结:
我们假设 Speedometer 这 benchmark 是靠谱的
所谓”靠谱“,是指”反映‘实际’场景“,从而能够用来评估”实际性能“。
我看貌似就跑了一堆各种框架的 TodoMVC,看上去还算靠谱

但是‘实际场景‘里,本站大多数用户都会装几个甚至几十个扩展。开了之后跑分两位数百分比的往下掉
关了之后跑分能上去了,但是这明显不是’实际‘场景,又有什么意义呢(除非你是浏览器开发者,或者苹果这样的垂直集成者)
#23 是正解,JS 这语言和政府一样,有天然的垄断性,所以其实很多时候是作为目标语言。但是 JS 从设计之初(如果这破玩意真的有“设计”的话)又是作为编程语言来设计的,所以 JS 有直接的编程语言和间接的目标语言两面(有意思的是,JS 无论作为编程语言,还是作为目标语言,都挺烂的 ...)。
前端圈开始是把 JS 作为编程语言来用,后来发掘出了目标语言的潜力,这才有了各种 source-to-source transformer,后来又有了各路 Script 。TypeScript 作为各路 Script 中的一个实例,虽然以兼容 JS 为核心设计理念,在作为“JS 的‘超集’的同时”依然可以理解为“以 JS 为目标语言的船新的编程语言”(忒修斯:阿嚏!)

如果把目标定在 JS 上的话,那 Babel 则是一个静态的 Rosetta,Reason 相当于 ocamlopt,TypeScript 类似 C 语言。在 naive 领域,目标语言是具体 ISA 的机器码,CPython 实际上是“用 C 实现的一个脚本语言解释器”,从目标语言的角度来看已经可以和 TypeScript 有一定的可比性,所以说 CPython 汁己就已经是 TypeScript 了,同时还有对等的 Ruby 、Perl 和一些无 JIT 的 Scheme 实现等。( CPython 放在 JS 上应该是“用 JS 实现的一个脚本语言解释器”——因为 JS 作为目标实在是太慢了,所以除了练手项目之外很少见,可以说前端在应用层“AOT 编译"占绝对主导)

和 JS 有类似情况的语言其实不少,C 是最接近的之一,有很多 C 的”超集“,以及一些和 C 完全不同的编程语言是编译到 C 的,同时 C 也广泛作为通用编程语言使用。还有 JVM Bytecode/MSIL/LLVM IR 等,不过这些语言本身设计就是目标语言 /中间语言,并不能作为编程语言。
2020-11-17 20:31:26 +08:00
回复了 3dwelcome 创建的主题 Apple AppleM1 的傲娇,市面上没一个能打的游戏芯片,包括 RTX 3090。
结论其实没错,不过这个帖子总体挺让人无语的
这么说吧,30 系就是老黄强行拔出来的,不知道具体出于什么目的(刚出那会乱七八糟的说法太多了,狙击主机,收购 ARM,狙击 AMD,存心耍猴 ... 或者单纯为了感谢客户向玩家送出一份“大礼”),但是 30 系各方面整体都挺烂的,不是一个好的对比对象。
另外 PC 平台上现在几乎所有芯片都喜欢往功耗曲线最右边拉,最近两年尤甚(俗称“官超”),虽说如此,楼主哪怕挑 RX 6000 系来比,都比 30 系要好 ...
2020-11-17 20:05:07 +08:00
回复了 yi0322 创建的主题 硬件 要是以后各大厂商都搞 SOC 那升级性能会不会很贵?
当然不会,比如牙膏厂很早之前就开始搞了,但是消费级价格基本稳定甚至在降
2020-11-14 12:33:04 +08:00
回复了 scriptB0y 创建的主题 Linux OS X 与 Linux 桌面发行版的快捷键冲突有什么好的解决办法吗?
我自己把终端模拟器的快捷键改成 Meta 开头了
终端模拟器还是比较简单的,没法全部改,比如 VSCode,我可以把编辑器里面的复制改成 Meta+C,但是拿查找框里面的快捷键没辙,还不如不改
总结就是 Linux 要改快捷键建议改源码重新编译 Chromium,GTK 等基础软件...
你没发现这次就是原来的壳子换了个零件么
很明显厨子是想先赶紧把东西上了,并没想出新产品,大的肯定还在后面
往好处想,这次这东西这么设计有可能就是为了方便 NMB 用
2020-11-11 23:37:10 +08:00
回复了 gdw1986 创建的主题 Python 谁能给仔细讲讲这个递归该咋理解吗?
backtracking 了解下
1 ... 43  44  45  46  47  48  49  50  51  52 ... 123  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1782 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 16:35 · PVG 00:35 · LAX 09:35 · JFK 12:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.