尾调用、优化和 ES6 (linux.cn)

【简介】

在探秘“栈”的倒数第二篇文章中,我们提到了尾调用tail call、编译优化、以及新发布的 JavaScript 上合理尾调用proper tail call。

当一个函数 F 调用另一个函数作为它的结束动作时,就发生了一个尾调用。在那个时间点,函数 F 绝对不会有多余的工作:函数 F 将“球”传给被它调用的任意函数之后,它自己就“消失”了。这就是关键点,因为它打开了尾调用优化的“可能之门”:我们可以简单地重用函数 F 的栈帧,而不是为函数调用 创建一个新的栈帧,因此节省了栈空间并且避免了新建一个栈帧所需要的工作量。下面是一个用 C 写的简单示例,然后使用 mild 优化 来编译它的结果。

点击查看原文 >>

@技术头条 2018-06-28 12:18 / 原作者微博:@Linux中国 / 0个评论
赞过的人: @技术头条
要不要再学学下面的文章?
大众点评内容搜索算法优化的探索与实践 (tech.meituan.com)
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
by @技术头条 2024-03-31 21:14 查看详情
服务调用的演进历史 (www.codedump.info)
这个题目稍微有点大,纯粹是一篇科普文,将我所了解到的解决“服务调用”相关的技术演进历史简述一下,本文专注于演化过程中每一步的为什么(Why)和是什么(What)上面,尽量不在技术细节(How)上面做太多深入。
by @技术头条 2024-03-13 13:33 查看详情
SQL优化(3)-索引与优化原理(上) (example.com)
这一篇我们回归现实中的MySQL数据库,初步学习具体的SQL优化原则,并尝试从索引底层原理出发,分析为什么会有那么多的“规则”。
by @技术头条 2024-01-13 23:28 查看详情
SQL优化(2)-索引与B+树 (example.com)
对于60%的程序员而言,Java的三层架构Controller、Service、Dao可以说是“越往后走天越黑”,特别是到了Dao层,提着灯笼也只能看到脚边一米开外的河边小石子,只闻对岸风啸马嘶却不知到底是人是鬼,只能借着MyBatis或JPA这些ORM框架隔着宽宽的河举行一场又一场的刺刀战,你砍我一刀,我刺你一剑。

诚然,很多人对MySQL数据库的印象就是一个模糊的大铁柜,闭上眼睛深吸一口气仿佛还能嗅到一股铁锈味。只知柜子里藏着很多张表,表里面存着很多行数据,再详细一点的呢?不知道。

MySQL有太多太多细节,根本无法用四、五篇文章说透,但我仍希望这个系列的文章能成为非常好的入门教程,让从来没接触过SQL优化的同学也能快速建立较为系统的知识框架,方便日后学习其他专栏时进一步拓展。
by @技术头条 2024-01-13 23:28 查看详情
美团外卖推荐关于用户新颖体验优化的技术探索 (tech.meituan.com)
外卖场景下,用户“复购”属性强、下单频次高,既想下单老商家,也会想换换“新口味”。为更好平衡用户的复购、尝新体验,外卖推荐团队从2022年起开始持续投入,构建了外卖场景新颖性推荐的体系化解决方案。截止目前,外卖首页用户曝光新颖性累计提升19%+,新颖好评率累计提升7%+,用户新颖体验Case率累计降低18%+。本文将详细介绍外卖首页Feed用户新颖体验优化过程中面临的挑战、解决思路以及业务思考。
by @技术头条 2023-07-23 12:21 查看详情
有序数列的数据结构优化 (blog.codingnow.com)
在我们的 ecs 模块中,有一个重要的内部数据结构是 eid 的数组。它是 Component 结构的一部分,表示每个 Component 属于哪个 Entity 。目前,它是以一个有序的 id 数组实现的。

这个数据结构常见的操作分别是:遍历、随机访问、查找 id 所在的位置。一个有序数组可以很好的完成任务。O(1) 的随机访问时间,O(Log N) 的查找时间。

那么实际上呢?
by @技术头条 2023-07-23 11:38 查看详情
JWT 签名算法 HS256、RS256 及 ES256 及密钥生成 (thiscute.world)
JWT 规范的详细说明请见「参考」部分的链接。这里主要说明一下 JWT 最常见的几种签名算法(JWA):HS256(HMAC-SHA256) 、RS256(RSA-SHA256) 还有 ES256(ECDSA-SHA256)。

这三种算法都是一种消息签名算法,得到的都只是一段无法还原的签名。区别在于消息签名与签名验证需要的 「key」不同。
by @技术头条 2023-07-04 23:16 查看详情
美团视觉GPU推理服务部署架构优化实践 (tech.meituan.com)
面对在线推理服务使用的GPU资源不断增加、GPU利用率普遍较低的挑战,美团视觉研发团队决定通过模型结构拆分和微服务化进行优化,他们提出一种通用高效的部署架构,来解决这种常见的性能瓶颈问题。以“图像检测+分类”服务为例,优化后的服务压测性能指标GPU利用率由40%提升至100%,QPS也提升超过3倍。本文将会重点介绍推理服务部署架构优化的工程实践,希望对大家能有所帮助或启发。
by @技术头条 2023-02-12 14:37 查看详情
美团外卖搜索基于Elasticsearch的优化实践 (tech.meituan.com)
美团外卖搜索工程团队在Elasticsearch的优化实践中,基于Location-Based Service(LBS)业务场景对Elasticsearch的查询性能进行优化。该优化基于Run-Length Encoding(RLE)设计了一款高效的倒排索引结构,使检索耗时(TP99)降低了84%。本文从问题分析、技术选型、优化方案等方面进行阐述,并给出最终灰度验证的结论。
by @技术头条 2022-12-18 20:49 查看详情
前端性能优化心法 (insights.thoughtworks.cn)
文章从流程方面和具体的技术细节上对软件性能优化上遇到的问题做一些总结和分类,以方便在后续类似的场景下可以提供给开发者一个参考。
by @Thoughtworks 2022-11-25 10:54 查看详情