This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Get SimpleDB_3.4.zip from here - http://www.cs.bc.edu/~sciore/simpledb/ | |
# Tested using OpenJDK 17.0.2 | |
# Unzip SimpleDB_3.4 | |
> unzip SimpleDB_3.4.zip | |
> cd SimpleDB_3.4 | |
# Create bin folder to store the compiled .class files | |
> mkdir -p bin/server |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Infinite steams implemented in Javascript as described in Chapter 3 of SICP. | |
////////////////////////////// Start of Program /////////////// | |
// This is cons function of lisp | |
function pair(a, b) { | |
return [a, b]; | |
} | |
// this is car function of lisp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Introduction | |
The purpose of this document is to share some ideas that I've developed over the years about how to develop a certain kind of application for which the term "server" is only a weak approximation. More accurately, I'll be writing about a broad class of programs that are designed to handle very large numbers of discrete messages or requests per second. Network servers most commonly fit this definition, but not all programs that do are really servers in any sense of the word. For the sake of simplicity, though, and because "High-Performance Request-Handling Programs" is a really lousy title, we'll just say "server" and be done with it. | |
I will not be writing about "mildly parallel" applications, even though multitasking within a single program is now commonplace. The browser you're using to read this probably does some things in parallel, but such low levels of parallelism really don't introduce many interesting challenges. The interesting challenges occur when the request-handling infrastructure it |