呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态
图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
#course #LLM #AI #docs #prompt
面向开发者的大模型手册 - LLM Cookbook
https://datawhalechina.github.io/llm-cookbook/
提示工程指南
https://www.promptingguide.ai/zh
面向开发者的大模型手册 - LLM Cookbook
https://datawhalechina.github.io/llm-cookbook/
提示工程指南
https://www.promptingguide.ai/zh
#优质博文 #前端
Think JavaScript Is Slow? Here's How JIT (Just In Time) Compilation Makes It 100x Faster Instantly
https://www.royalbhati.com/posts/why-js-is-fast
#JavaScript #性能优化 #V8 #JIT
via Royal Bhati
Think JavaScript Is Slow? Here's How JIT (Just In Time) Compilation Makes It 100x Faster Instantly
https://www.royalbhati.com/posts/why-js-is-fast
AI 摘要:通过解析 V8 引擎的 JIT 编译机制,解释 JavaScript 如何通过动态优化热点代码实现百倍性能提升。
本文以 V8 引擎为例,深入探讨 JavaScript 的 JIT(即时编译)技术如何弥合解释型语言与编译型语言的性能差距。作者通过一个计算数组和的示例代码,详细拆解 JIT 的工作流程:
1. 解析与字节码生成:代码被转换为抽象语法树(AST)后生成中间字节码。
2. 热点代码识别:高频执行的代码(如循环)被标记为“热代码”,触发优化编译为机器码。
3. 动态优化与去优化:若运行时假设失效(如变量类型变化),引擎会回退到未优化状态并重新编译。
文章结合代码示例、AST 结构、字节码片段和优化逻辑,直观展示了 JIT 如何通过减少解释器开销和针对性优化显著提升性能,并强调其核心目标是平衡灵活性与执行效率。
#JavaScript #性能优化 #V8 #JIT
via Royal Bhati
#前端 #优质博文
Turbocharging V8 with mutable heap numbers
https://v8.dev/blog/mutable-heap-number
#V8 #JavaScript #性能优化 #benchmarks
via V8 开发团队( v8.dev 官方博客)
Turbocharging V8 with mutable heap numbers
https://v8.dev/blog/mutable-heap-number
AI 摘要:V8 通过引入可变堆数值(mutable heap numbers)和 Int32 类型追踪优化 Math.random 实现,使 async-fs 基准测试性能提升 2.5 倍。
# 文章内容
本文解析了 V8 团队针对 JetStream2 基准测试套件中 async-fs 性能问题的优化过程。该基准测试使用自定义的确定性 Math.random 实现,其核心变量 seed 存储于 ScriptContext 中。由于 seed 的每次更新都会触发新的 HeapNumber 对象分配,并伴随低效的浮点运算,导致显著的内存分配与垃圾回收压力。
V8 团队通过两项关键优化解决此问题:
1. 可变堆数值槽:扩展 ScriptContext 的槽类型追踪能力,允许直接修改 HeapNumber 的值而非重新分配
2. 可变 Int32 类型:追踪数值是否在 Int32 范围内,避免浮点转换开销
这些优化不仅使 async-fs 性能提升 2.5 倍,也为处理类似模式的真实场景代码提供了通用优化方案。
#V8 #JavaScript #性能优化 #benchmarks
via V8 开发团队( v8.dev 官方博客)
#优质博文 #webgl #demo #前端 #three
好酷的效果!喜欢喵! Demo: https://tympanus.net/Tutorials/EmissiveDissolveEffect/
Implementing a Dissolve Effect with Shaders and Particles in Three.js.
https://tympanus.net/codrops/2025/02/17/implementing-a-dissolve-effect-with-shaders-and-particles-in-three-js/
这就是它 - 一个动态溶解效果,其中包含发光粒子!您可以随意尝试这些参数:尝试不同的杂色模式,调整发光强度,或修改粒子行为以创建您自己独特的变化。
via Jatin Chopra
好酷的效果!喜欢喵! Demo: https://tympanus.net/Tutorials/EmissiveDissolveEffect/
Implementing a Dissolve Effect with Shaders and Particles in Three.js.
https://tympanus.net/codrops/2025/02/17/implementing-a-dissolve-effect-with-shaders-and-particles-in-three-js/
这就是它 - 一个动态溶解效果,其中包含发光粒子!您可以随意尝试这些参数:尝试不同的杂色模式,调整发光强度,或修改粒子行为以创建您自己独特的变化。
AI 摘要:本文详细介绍了在 Three.js 中创建物体溶解效果的完整流程。作者从游戏中的灵感出发,分步骤实现了以下核心功能:
1. 环境与光照设置 :选择 CubeMaps 而非 HDRI 以控制反射强度,避免发光效果过曝。
2. 溶解效果 :基于 Perlin 噪声生成溶解图案,通过 uProgress 和 uEdge 控制溶解阈值与边缘宽度,并修改材质着色器实现动态溶解。
3. 粒子系统 :利用几何体属性(位置、速度、最大偏移量)驱动粒子运动,结合正弦波实现波浪状动态效果,并添加旋转、纹理和距离缩放增强表现力。
4. 选择性发光 :通过 Unreal Bloom 对溶解边缘和粒子添加辉光效果。
文中每个步骤均附有代码片段和关键参数说明,并提供了 GitHub 提交记录便于读者分阶段复现。
via Jatin Chopra