01/13/2012. From a lecture by Professor John Ousterhout at Stanford, class CS140
Here's today's thought for the weekend. A little bit of slope makes up for a lot of Y-intercept.
[Laughter]
| import asyncio | |
| from heapq import heappop, heappush | |
| async def sweet_sleep(sleep): | |
| await sleep(1) | |
| return 'hey' | |
| def main(): | |
| clock_ms = 0 | |
| time_ms = lambda: clock_ms |
| # i +=17 | |
| $ hyperfine -w2 ./main # aligned(1) | |
| Benchmark 1: ./main | |
| Time (mean ± σ): 52.4 ms ± 3.3 ms [User: 16.9 ms, System: 31.7 ms] | |
| Range (min … max): 48.5 ms … 65.0 ms 47 runs | |
| $ hyperfine -w2 ./main # aligned(4), ~+10% | |
| Benchmark 1: ./main | |
| Time (mean ± σ): 57.6 ms ± 3.0 ms [User: 18.8 ms, System: 34.5 ms] |
| #include <stdint.h> | |
| #include <stdio.h> | |
| #include <stdalign.h> | |
| #include <assert.h> | |
| #include <sys/mman.h> | |
| //#include <x86intrin.h> | |
| #define COUNT 4096 | |
| struct __attribute__((packed)) { |
| $ cpuid | |
| CPU 0: | |
| vendor_id = "GenuineIntel" | |
| version information (1/eax): | |
| processor type = primary processor (0) | |
| family = 0xf (15) | |
| model = 0xb (11) | |
| stepping id = 0x1 (1) | |
| extended family = 0x0 (0) | |
| extended model = 0x6 (6) |
| const std = @import("std"); | |
| const math = std.math; | |
| const AlignedStruct = struct { | |
| a: u16, | |
| b: u16, | |
| c: u8, | |
| }; | |
| pub fn main() !void { |
| javascript:(function() { | |
| Array.from(document.getElementsByTagName('c-wiz')) | |
| .map(tag => ({ | |
| threadId: tag.getAttribute('data-topic-id'), | |
| firstMessage: tag.children[0].getAttribute('aria-label') | |
| })) | |
| .filter(thread => thread.threadId != null && thread.firstMessage != null) | |
| .forEach(thread => console.log(window.location.href + '/' + thread.threadId | |
| + " : " + thread.firstMessage)) | |
| }()) |
| trait Wrap { | |
| fn pass<F>(&self, consumer: F) where F: Fn(&Self) { | |
| consumer(self) | |
| } | |
| } | |
| struct Stringy(String); | |
| impl Wrap for Stringy { | |
| } |
| #!/bin/bash | |
| set -ex | |
| if [ -d .git/ ]; then | |
| git remote set-url origin "$BUILDKITE_REPO" | |
| else | |
| git clone "$BUILDKITE_REPO" . | |
| fi | |
| git clean -fdqx |
| package clinteastwood; | |
| import java.awt.Color; | |
| import java.util.Random; | |
| import robocode.AdvancedRobot; | |
| import robocode.ScannedRobotEvent; | |
| public class ClintBot extends AdvancedRobot { | |
| private final Random random = new Random(); |