Newlines at the end of each file to help concatenation

This commit is contained in:
James Gregory 2014-01-05 17:28:05 +11:00
commit 2b0ed9aa12
19 changed files with 22 additions and 18 deletions

2
01.md
View file

@ -838,4 +838,4 @@ be sped up.
I'm going to focus on specific ways to create high-performance code from
now on. In Chapter 5, we'll continue to look at restartable blocks and
internal buffering, in the form of a program that searches files for
text strings.
text strings.

2
02.md
View file

@ -325,4 +325,4 @@ With that in mind, what should the first step be? Development of the
flexible mind is an obvious step. Still, the flexible mind is no better
than the knowledge at its disposal. The first step in the journey toward
mastering optimization at that exalted level, then, would seem to be
learning how to learn.
learning how to learn.

2
03.md
View file

@ -2263,4 +2263,4 @@ periods.
Imperfections notwithstanding, the Zen timer is a good tool for
exploring C code and x86 family assembly language, and it's a tool we'll
use frequently for the remainder of this book.
use frequently for the remainder of this book.

2
04.md
View file

@ -1462,4 +1462,4 @@ cycle-eaters vary in importance on later x86-family processors, with
some cycle-eaters vanishing altogether and new ones appearing, the
concept that understanding these obscure gremlins is a key to
performance remains unchanged, as we'll see again and again in later
chapters.
chapters.

2
05.md
View file

@ -552,4 +552,4 @@ itself with greatly improved performance. And when speed is *not* an
issue, of course, or in code that's not time-critical, you wouldn't
dream of wasting your time on optimization.
Would you?
Would you?

2
06.md
View file

@ -321,4 +321,4 @@ cycles is a pretty neat trick, even though it works only on a 386 or
I'd like to extend my thanks to Duane Strong of Metagraphics for his
help in brainstorming uses for the 386 version of `LEA` and for
pointing out the complications of 486 instruction timings.
pointing out the complications of 486 instruction timings.

2
07.md
View file

@ -685,4 +685,4 @@ ADD AX,1
ADC DX,0
```
As always, pay attention!
As always, pay attention!

2
08.md
View file

@ -809,4 +809,4 @@ the low end, resulting in critical code that runs just about as fast as
the hardware permits. The only software that can do that is located
north of your sternum and slightly aft of your nose. Dust it off and put
it to work—and your code will never again be confused with anything by
Hamilton, Joe, Frank, eynolds or Bo Donaldson and the Heywoods.
Hamilton, Joe, Frank, eynolds or Bo Donaldson and the Heywoods.

2
09.md
View file

@ -993,4 +993,4 @@ Be warned, though, that I've found `OR`, `AND`, `ADD`, and the like to be
a cycle slower than `MOV` when working with immediate operands on the
386 under some circumstances, for reasons that thus far escape me. This
just reinforces the first rule of optimization: Measure your code in
action, and place not your trust in documented cycle times.
action, and place not your trust in documented cycle times.

2
10.md
View file

@ -558,4 +558,4 @@ breakthroughs. Stop, look, listen—and think. Not only will you find that
it's a more productive and creative way to program—but you'll also find
that it's more fun.
And think what you could do with all those extra computer years!
And think what you could do with all those extra computer years!

2
11.md
View file

@ -1100,4 +1100,4 @@ it occurs.)
And now you know the nature of and the workaround for the `POPF` bug.
Whether you ever need the workaround or not, it's a neatly packaged
example of the tremendous flexibility of the x86 instruction set.
example of the tremendous flexibility of the x86 instruction set.

2
12.md
View file

@ -638,4 +638,4 @@ staggeringly fast that carefully crafted 486 code can do more than twice
as much per cycle as the best 386 code—which makes it perhaps 50 times
as fast as optimized code for the original PC.
Sometimes it *is* hard to believe we're still in Kansas!
Sometimes it *is* hard to believe we're still in Kansas!

2
13.md
View file

@ -467,4 +467,4 @@ capabilities of the Mod-R/M byte, and there's nothing to be done about
it, but it's at least worth noting that ESP-based, non-indexed
addressing makes for instructions that are a byte larger than other
non-indexed addressing (but not any slower; there's no 1-cycle penalty
for using ESP as a base register) on the 486.
for using ESP as a base register) on the 486.

2
14.md
View file

@ -807,4 +807,4 @@ Everything we needed was sitting there all along; we just needed to
think to look at it.
As Yogi Berra might put it, "You don't know what you know until you know
it."
it."

2
15.md
View file

@ -656,4 +656,4 @@ around: ja save
Before I end this chapter, let me say that I get a lot of feedback from
my readers, and it's much appreciated. Keep those cards, letters, and
email messages coming. And if any of you know Jeannie Schweigert, have
her drop me a line and let me know how she's doing these days....
her drop me a line and let me know how she's doing these days....

2
16.md
View file

@ -1252,4 +1252,4 @@ that calculates the theoretical maximum performance of native 386
word-counting code at 5.5 cycles/byte, which would be significantly
faster than David's code. Terry, alas, didn't bother to implement his
design, but maybe I'll take a shot at it someday. It'd be fun, for
sure—but jeez, I've got *real* work to do!
sure—but jeez, I've got *real* work to do!

2
17.md
View file

@ -1288,4 +1288,4 @@ for adherence to the rules, read, compiled, linked, run, and judged. I
learned a lot—about a lot of things, not the least of which was the
process (or maybe the wisdom) of laying down challenges to readers.
Who won? What did I learn? To find out, read on.
Who won? What did I learn? To find out, read on.

2
18.md
View file

@ -1018,4 +1018,4 @@ my pleasure to meet, who, after looking over David's and Peter's
entries, said, "This has been an eye-opening experience for me. I
honestly thought I had the fastest possible approach." TANSTATFC.
There Ain't No Such Thing As the Fastest Code.
There Ain't No Such Thing As the Fastest Code.

4
make-epub.sh Executable file
View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
pandoc -S -o main.epub index.md intro.md about.md about_author.md \
01.md 02.md 03.md 04.md 05.md 06.md 07.md 08.md 09.md 10.md