
获得徽章 0
- 掘友们好,有木有「成都」的亲!我🐼和我们的小蝴蝶🦋妹砸即将于下周空降成都,准备在下周六中午和成都的掘友们来一场小型用户聚餐🍲!
-时间:2019-05-25(周六)中午 12:00
- 📍地址:城南区域(具体位置根据报名而定)
- 📃报名:jinshuju.net(限定人数,先到先得!)
成都的亲们快来啦!
- 🦋妹砸:juejin.im(关注一下吧?)
展开10131 - V8 v7.4 现在支持无需在 runtime 阶段分配可执行内存就能执行 JavaScript 代码。
在其默认配置中,V8 很大程度上依赖于在 runtime 阶段分配和修改可执行内存的能力。例如,作为一个包含优化过程的编译器,TurboFan 可即时(just-in-time)为热加载 JavaScript(JS) 函数创建原生代码,并且大多数 JS 正则表达式由 irregexp 引擎编译为原生代码。而在 runtime 阶段支持创建可执行内存正是 V8 快速运行的原因之一。
但在某些场景中,我们可能需要刚好需要在不分配可执行内存的情况下运行 V8:
某些平台(例如 iOS、智能电视、游戏控制台)禁止对非特权应用程序的可执行内存进行写访问,因此到目前为止,在这些平台上一直无法使用 V8
禁止对可执行内存进行写操作可减少应用程序的攻击面
为此,V8 引入了名为 "JIT-less" 的新模式,旨在解决上面这些问题。当 V8 启动时带上 --jitless 参数,它就可以在没有使用任何 runtime 的情况下(无需分配可执行内存)来运行。展开评论7 - 中午一直在公司附近的拉面馆吃面,店里每天中午都是满满的人,需要排队。这两天我发现面量减少了,思考了一下,发现这是聪明(狡猾)的商家的优化策略。
店里客流量特别大,座位总是稀缺资源,满载状态下,吞吐速率直接影响了收入,而商家的策略就是减少面的量,增加平均吃面的时间,使得吞吐速率增加,从而增加收入。
这种优化策略其实很常见,秒杀级别的高并发要求,页面的内容要尽可能的少,就是为了减少平均带宽和cpu占用,从而增加吞吐量。而首屏渲染时间(FCP)的优化也是要减少内容并且把暂时不用的资源延迟加载,也是通过减少内容这种釜底抽薪式的方式来优化。
越来越觉得,编程和互联网领域没有什么特殊的,抽象到一定程度,会发现很多思想在别的领域都很常见。展开1012 - 使用 GraphQL 一个月,总体感觉下来爽得不行。从纯技术角度看,GraphQL 的实现在生产效率和复杂性方面都有着非常好的表现。树状逐层的数据获取解析模型,字段级别的关注点分离,利用事件循环实现上层无感知的批处理优化……种种设计构成了令人夜不能寐的美丽形态。
我认为其中最重要和最困难的部分就是 schema 设计。设计既不能全都顺从于前端的呈现模型(要什么结构就给什么结构),也不能被后端的数据模型牵着鼻子走(直接从数据库表映射生成),各方都应依赖于业务结构定义。同时无版本化由细粒度的局部更新实现,需要把变化的可能性限制在尽量小的概念范围内,最终会表现在对多层嵌套结构的权衡上。
以上这些都要求设计者和团队对业务有足够深度的一致理解,而这个要求也能反过来利于团队的协作。展开622