前言

让事情变得更快是为了让事情变得更好,从而让生活变得更美好。如果工具能够工作得更快,我们就有更多的时间去做自己想做的事情。如果这些工具是帮助我们处理信息的,那么它们工作得越快,我们就可以越好地做出决策。

无论是对计算机、犁头进行优化,还是对两者之外的其他东西进行优化,都需要两项独立的技能:一是提出正确的问题;二是回答这些问题。大多数思考优化的人都很了解第二项技能,但似乎很少有人意识到第一项技能。然而,第一项技能——提出正确问题的行为——才是我们需要首先培养的技能,尤其是作为一名领导者。大家可能会惊讶于自己竟然能如此迅速地学会它。

不过,还有一个问题。教学时,我们提出的问题很简单。但所有遇到过好奇孩子的人都知道,简单的问题并不总是容易回答的。例如,管理公司计算机的人可能确切地知道在某个特定的星期五下午2点钟系统的CPU利用率是多少,但他们可能无法回答店员输入一份订单需要多长时间。他们给出的答案和我们想要提出的问题之间存在着错配。这种错配本身就隐藏着让事情变得更快的机会。我会教大家如何找到这些机会。

优化通常更具政治性,而非技术性。奇怪的是,关于优化的书籍几乎都是技术性的。技术人员很容易认为项目中的非技术因素是不必要的,甚至可能是荒谬的干扰因素。但事实是,优化的非技术方面也需要人们去理解和投入精力,就如同技术方面一样。为了优化某些内容,除了要在技术上富有成效外,有时候还必须面对恐慌和恐惧所产生的“怪物”。良好的成功业绩记录将帮助我们在关于下一步该做什么的辩论中赢得胜利,但如果不发挥一些政治智慧,我们就永远无法创造出这样的业绩记录。

我写这本书的目的是帮助大家提高这两项技能:从政治和技术层面提问和回答。潜在的回报是巨大的。当我们既了解性能的科学,又了解如何驾驭关注性能的人的欲望和情感的艺术时,我们就可以优化任何事情

致谢

我个人所取得的大部分成就都归功于他们给予的爱与恩惠,他们是我的妻子Mindy和孩子Alexander、Nikolas及Cathryne,我的父母Van和Shirle(我想念你,爸爸),我的岳父母Ted和Evelyn,以及我的嫂子Alison。

如果没有杰夫·霍尔特,这本书是不可能出版的。很难想象,如果抛开从1999年以来与杰夫一起度过的时光,那么将有多少知识我永远无法学到。

我要感谢每一个参与我的故事的人,他们在过去的几年里帮助过我、鼓励过我、激励过我,他们是Steve Adams、Stephen Andert、Chris Antognini、Jon Bentley、Martin Berger、Richard Bonacci、Michael Brown、Mathew Butler、Steve Butterworth、Jerry Carlisle、Jae Choi、Mark Clark、Tom Corrado、Rudy Corsi、Ron Crisco、Chris Date、Lex de Haan、Dominic Delmolino、James Docherty、Ellen Dudar、Kevin Duffy、Nancy Dushkin、Larry Ellison、Jean Emerson、Dave Ensor、Michael Erwin、Eric Evans、Mark Farnham、Charlene Feldkamp、Ken Ferlita、Alyssa Freas、Doug Fricke、Doug Gault、Jonathan Gennick、Eli Goldratt、Gary Goodman、Alex Gorbachev、Donald Gross、Neil Gunther、Stephan Haisley、Tim Hall、Jimmy Harkey、Carl Harris、Frits Hoogland、Jonathan Intner、Lynn Isabella、Øyvind Isene、Raj Jain、Laurel Jamtgaard、Jarod Jenson、Guðmundur Jósepsson、Chet Justice、George Kadifa、Tom Kemp、Brian Kernighan、Larry Klein、Leonard Kleinrock、Donald Knuth、Stefan Koehler、Anjo Kolk、Toon Koppelaars、Brian Kush、Tom Kyte、Ray Lane、Jonathan Lewis、Debra Lilley、Bryn Llewellyn、Craig Martin、Connor McDonald、Brendan McNamee、Becki Memmer、Danny Menascé、Rick Minutella、James Morle、Karen Morton、Nils-Peter Nelson、Evelyn Neumayr、Craig Newburger、Mogens Nørgaard、Donald Norman、Kerry Osborne、Saul Padilla、Mauro Pagano、Harold Palacio、Tanel Põder、Darryl Presley、Marcin Przepiorowski、Ray Quiett、Willis Ranney、Mike Riley、Dennis Ritchie、Andy Rivenes、Allan Robertson、Jesse Ruder、Robert Rudzki、Richard Russell、Rachel Rutti、Martha Sabelhaus、Virag Saksena、Robyn Sands、Baron Schwartz、Gwen Shapira、Robert Shaw、Abdul Sheikh、Carlos Sierra、Kyle Smith、Nancy Spafford、Bryant Stavely、Veronica Stigers、Jared Still、Magnus Stjernström、Mark Sweeney、James Thomson、Dan Tow、Edward Tufte、Hank Tullis、Delores Utley、Peter Utzig、Fidel Vales、Bill Walker、Mark Williams、Gerald Williamson、Liz Wiseman、Graham Wood、Scott Wyper、Steve Wyper、Winston Zhang、Andrew Zitelli、Jeff Zollars,以及来自巴西的小伙子。

排版约定

本书使用以下排版约定:

斜体Italic

表示新的术语、URL、电子邮件地址、文件名和文件扩展名。

等宽字体(Constant width

表示程序元素,例如变量名及关键字。

O'Reilly在线学习平台(O'Reilly Online Learning)

40多年来,O'Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。

我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O'Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O'Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问https://oreilly.com

如何联系我们

对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。

美国:

O'Reilly Media,Inc.

1005 Gravenstein Highway North

Sebastopol,CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

要询问技术问题或对本书提出建议,请发送电子邮件至errata@oreilly.com.cn

本书配套网站https://oreil.ly/make-things-faster上列出了勘误表、示例以及其他信息。

关于书籍和课程的新闻和信息,请访问我们的网站https://oreilly.com

我们在LinkedIn上的地址:https://linkedin.com/company/oreilly-media

我们在Twitter上的地址:https://twitter.com/oreillymedia

我们在YouTube上的地址:https://youtube.com/oreillymedia