## 假食物艺术:食品样品 (Shokuhin Sampuru) 食品样品,极其逼真的食物复制品,起源于1932年的大阪,由岩崎泷三 (Iwasaki Takizō) 创建,现在岩崎集团是领导力量,控制着日本市场70%的份额。受熔蜡形状的启发,这些复制品最初在20世纪20年代帮助将西餐引入日本,展示在餐厅窗口和百货商店中,以说明如意大利面和火腿三明治等不熟悉的菜肴。 除了实用性之外,*sampuru* 与战后日本的“咖啡馆”(kissaten)联系在一起,并唤起复古美学。虽然早期版本很简单,但它们已经发展,甚至早在1958年就被出口用于促销用途。 如今,它们具有双重目的:帮助游客了解日本各地的料理(展示了所有47个县的菜肴),甚至帮助*日本*食客理解当地特色菜。尽管数字信息日益普及,工匠们仍然认为这种工艺完全是模拟的,依靠技巧来捕捉质感和比例——这些是照片无法始终传达的品质。它们是一种独特的日本艺术形式,提供了一种对菜单的“快速”评估,就像浏览Instagram一样。
## ClickHouse 聚合性能改进 - 总结
这项工作(PR #87366)解决了在看似相同的 ClickHouse 查询中观察到的显著性能差异,特别是那些使用 `uniq()` 聚合的查询。 根本原因在于 ClickHouse 处理分组值的方式——将它们视为 `UInt16` 与更大的类型——从而影响了使用的聚合数据结构。
ClickHouse 使用基于数组或标准哈希映射来进行聚合。 当按较小的数字分组时,使用数组,从而可以有效地并行合并聚合状态。 较大的值会触发标准哈希映射,从而阻碍并行化。 最初的查询使用了 `UInt16`,导致较慢的两级哈希映射合并。 添加 `0 +` 强制使用 `UInt64`,从而实现更快的单级合并。
该实现侧重于通过在线程之间分配工作而无需竞争条件,从而为单级哈希映射启用并行合并。 开发涉及克服内存损坏问题(与线程不安全的 `DB::Arena` 内存管理相关)以及优化琐碎的聚合函数(如 `count()`),在这些函数中,并行化的开销超过了收益。 火焰图和仔细的日志记录对于识别性能瓶颈和调试至关重要。 最终解决方案包括优化,以在并行合并期间保持哈希映射索引以提高性能。