Beautiful Architecture
C H A P T E R N I N E JPC: An x86 PC Emulator in Pure Java Rhys Newman Christopher Dennis “EMULATORS ARE SLOW AND JAVA IS SLOW; ...
Introduction With the increasing processor speed and network performance enjoyed by even domestic computer users, more and more ...
it contains a bug that permits either of these. For example, QEMU uses dynamic binary translation to achieve acceptable speed, a ...
running other emulated instances. This technique avoids possible issues with even the most carefully thought through features av ...
a complex but fast hard disk controller (or drive). A simple and reliable hard disk emulation will easily suffice, and the same ...
2 registers, and 128 bytes of RAM. A simple program equivalent to the following C code was written in Toy assembly language for ...
software design decisions, based purely on how the JVM behaves, are also outlined where they had a significant performance benef ...
The codebase becomes lopsided. Simple hardware devices such as the IDE interface are simple translations of the specification d ...
Tip #3: Table switch good, lookup switch bad Switch statements whose labels are a reasonably compact set are faster than those w ...
The most obvious place where spatial overheads cause a problem is in the address space: the 4 GB memory space (32-bit addresses) ...
TIP #7: INSTANCEOF IS FASTER ON CLASSES Performing instanceof on a class is far quicker than performing it on an interface. Java ...
Now a memory “get” from RAM has three stages: return addressSpace.get(address); return blocks[i >>> 12].get(address &am ...
privileges, or tries to access pages that simply do not exist, results in the raising of a processor exception in a manner analo ...
read-user, read-supervisor, write-user, and write-supervisor. Memory “gets” use the read indices and “sets” use the write indice ...
the throwing of a page fault or protection violation is an exceptional but normal occurrence that should be mapped to an instanc ...
Fighting A Losing Battle Nowhere in the IA-32 architecture does its enduring popularity show more than in the instruction set. W ...
TIP #1: OBJECT CREATION IS BAD Excessive object instantiation (especially of short-lived objects) will cause poor performance. T ...
This results in 384 possible combinations for this subset of the addressing modes alone. Evidently some more factorizing is requ ...
principles and trusted benchmarks only when large shifts in performance occurred. In a just- in-time compiled environment, small ...
Java Virtual Machine Data Program Dynamic user input external data Static .class files program resources FIGURE 9-6. Program and ...
«
7
8
9
10
11
12
13
14
15
16
»
Free download pdf