Instrumentation 与 Profiling

看到有反馈说到《Oracle性能诊断艺术》中对于 Instrumentation 这个词的翻译问题。说实话,对这个词的处理当初挺让我头疼,这是个可以意会但很难用一个中文词汇对应的术语,一些翻译词典或是已有的翻译作品对这个词的处理也是五花八门。在图灵著译俱乐部里面提问得到很多回答(这里要致谢!)。权衡再三,最后根据整个章节的重点以及上下文选择用 “性能测量”。

我不喜欢用有些人说的测试领域内所用的术语”插桩”,实在是有点诡异。当然,如果这个词不翻译的话,或许更好。其实很多计算机术语容易受到早期译者的影响,比如关系数据库的 “Lock” 这个词 ,动词的时候,很多译者喜欢翻译成 “封锁”,个人觉得实在是累赘,就是锁就行了嘛,为什么非要”封”呢?

另一个比较难以处理的就是 “Profiling” ,根据维基百科的解释 ,这个词指”动态程序分析的一种形式…根据程序执行收集到的信息调查程序的运行行为,通常用来查找程序中的瓶颈”。最后我用了”剖析”。(Updated: 中文是 “性能分析“。不过我觉得似乎有点容易混淆。)

这两个词很有趣,任何一个程序或者软件项目构建的初期,如果没有考虑 Instrumentation ,在程序或项目交付后,又不能做 Profiling ,那么这个程序或者项目肯定会是灾难。所以,能对 DBA 着重强调一下这一点或许要比看更多的同质化内容更有价值。

在这本书的最后定稿的时候,编辑来信要求确认术语的统一,对于 “Hash” 这个词,要求用统一的术语”散列”,最后我们几位编辑极力坚持用”哈希”这个词(当然,最后用了”哈希”)。大部分的数据库图书,尤其是 Oracle 相关的图书,这个词已经是约定俗成的了。所以,说起术语标准化,个人看法也是术语对应列表用来做指导而不是生搬硬套。

翻译需要技术,更需要艺术。这活儿,真的不好干。

EOF

更新:Twitter联合创始人 Nick Bilton 说过这样一句话”Early on our biggest problem was that we didn’t have any gauges into the system and we didn’t have metrics, so we were kind of flying blind. The way we got around it was to instrument the entire system so we could see what was going on” (refer)。可见缺少 Instrumentation 会带来多么严重的问题。


12 thoughts on “Instrumentation 与 Profiling

  1. mrduguo

    profiling 翻译为 性能分析 挺能反应在软件中所表达的意义:
    http://zh.wikipedia.org/wiki/%E6%80%A7%E8%83%BD%E5%88%86%E6%9E%90
    Instrumentation 我理解为 植入式监控。代码并不属于正常软件的一部分,只是用来监控。
    IBM 3I (Instrumented、Interconnected、Intelligent,即) 网上翻译为 “更透彻的感应和度量”
    http://my.chinabyte.com/space-227648-do-thread-id-551341.html
    小学没学好语文,只是个人理解 :)

    Reply
  2. 木匠

    根据Tom的理解和注释, Instrumentation 就是 debug trace, 跟踪程序的处理结果和进度.
    Profiling 翻译和解释的都很棒, 即找出应用处理过程中的性能热点.

    Reply
  3. popoever

    Profiling 翻译成“剖析”或者“分析”都可以,个人觉得剖析更生动,FBI/CIA 都有 Profiler 这个职能的特工,他们的作用就是通过情报信息来对事件或人进行分析、预测和评估,如果借鉴这样的机制,或许还可以翻译成“解析”。
    Instrumentation 搞过仪器的都知道,测控。

    Reply
  4. popoever

    Profiler 其实就是资料分析员,如果觉得“分析”过于直白,还可以尝试使用“解读”或者“解说” :P

    Reply
  5. chixian.ma

    对于Instrumentation我觉得“插桩”挺合适的,很中文化,也不难理解,只是说的有些不习惯而已(其中没有能与英文本意搭上边的“测”和“仪”字而已),并不觉得硬,生硬的反而是博主的翻译,看到博主的解释让我想起了裘宗燕翻译《C++编程语言》时候对于inline为什么要翻译成“在线”而非“内联”的那篇洋洋洒洒的大文章,我的意见就是既然有成熟合适的名词为什么不用呢?重复发明轮子只会让大家更加的迷惑而已。
    当然@popoever提出”测控”也很合适,更技术化些。
    英文的Profile就和中文的“道”一样,不同的语境中会衍生出很不一样的意思来,要说对Profile有个确定的翻译的话的确很难,也是不可能,在非技术方面的用法这个词用法就千奇百怪的,我们可以看看朗文在线上http://www.ldoceonline.com/search/?q=profile就能看到。拿博主提到的Profile Analysis来说,翻译成“剖析分析”虽然读起来有些绕(“剖析”就已经有分析的意思了),不过没想到更好的词,但是在心理学中这个词组的翻译通常就是“剖象分析”了,当然我们不能拿心理学的翻译和计算机技术中的翻译相比。
    要是技术圈里面能有一个对于含有Profile词组的翻译的讨论,然后整理出一个对这些词组的比较通用的中文说法还是很不错的。就像Profiler(SQL Server中的用法就是“查询分析器”),Resource Profile,Profile Analysis这些词或词组。

    Reply
  6. chixian.ma

    汗,更正下,裘宗燕翻译的《The C++ Programming Language, Special Edition》的中文书名是《C++程序设计语言(特别版)》

    Reply
  7. Fenng

    @chixian.ma
    插桩用在工控上倒是没什么,但是计算机术语,未免语义上会有歧义。

    Reply
  8. xiaofeng

    同遇到这个问题,author把web application中用到的Google Analytics和一个类似的在线辅助开发ide工具称之为Instrumentation ,翻译成“辅助工具”了。

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *