官术网_书友最值得收藏!

When performance matters

Performance is not always important in every situation. Learning when performance does and doesn't matter is an important skill to acquire. A general rule of thumb is that if the user has to wait for something to happen, then it should perform well. If this is something that can be performed asynchronously, then the constraints are not as strict, unless an operation is so slow that it takes longer than the time window for it, for example, an overnight batch job on an old financial services mainframe.

A good example from a web application standpoint is rendering a user view versus sending an email. It is a common, yet naive, practice to accept a form submission and send an email (or worse, many emails) before returning the result. Yet, unlike a database update, an email is not something that needs to happen instantly. There are many stages over which we have no control that will delay an email in reaching a user. Therefore, there is no need to send an email before returning the result of the form. You can do this in the background and asynchronously, after the result of the form submission is returned.

The important thing to remember here is that it is the perception of performance that matters and not absolute performance. It can be better to not perform some demanding work (or at least defer it until later) rather than speed it up.

This may be counter-intuitive, especially considering how individual computational operations can be too quick to perceive. However, the multiplying factor is scaled. One operation may be relatively quick, but millions of them may accumulate to a visible delay. Optimizing these will have a corresponding effect due to the magnification. Improving code that runs in a tight loop or for every user is better than fixing a routine that runs only once a day.

主站蜘蛛池模板: 广元市| 岳阳市| 琼结县| 青岛市| 莆田市| 信宜市| 堆龙德庆县| 罗江县| 台东县| 石家庄市| 陵川县| 拉萨市| 安西县| 西昌市| 湖南省| 潍坊市| 静乐县| 石河子市| 高清| 乃东县| 上饶市| 玉屏| 汕头市| 双峰县| 望奎县| 日土县| 射洪县| 怀来县| 东明县| 深州市| 信丰县| 兴文县| 裕民县| 浑源县| 来安县| 崇州市| 黔东| 逊克县| 大余县| 南漳县| 尼玛县|