cosmopolitan/tool/plinko
Jōshin 89fc95fefd
Rerun clang-format on the repo (#1217)
🚨 clang-format changes output per version!

This is with version 19.0.0. The modifications seem to be fixing the old
version’s errors - mainly involving omitted whitespace around binary ops
and inserted whitespace between goto labels and colons (if followed by a
curly brace.)

Also fixes a few mistakes made by e.g. someone (ahem) forgetting to pass
his ctl/string.h modifications through it.

We should add this to .git-blame-ignore-revs once we have its final hash
on master.
2024-06-15 16:34:48 -04:00
..
lib Rerun clang-format on the repo (#1217) 2024-06-15 16:34:48 -04:00
BUILD.mk Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
plinko.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
README.txt WIP: Correct all typos (#498) 2022-07-20 14:01:15 -07:00

DESCRIPTION

  plinko is a simple lisp interpreter that takes advantage of advanced
  operating system features irrespective of their practicality such as
  using the nsa instruction popcount for mark sweep garbage collection
  overcommit memory, segment registers, and other dirty hacks that the
  popular interpreters cannot do; this lets plinko gain a considerable
  performance edge while retaining an event greater edge in simplicity

  We hope you find these sources informative, educational, and possibly
  useful too. Lisp source code, written in its dialect is included too
  under //tool/plinko/lib and unit tests which clarify their usage can
  be found in //test/tool/plinko.

BENCHMARK

  binary trees (n=21)

    - sbcl:     200 ms (native jit;  simulated arithmetic)
    - plinko:   400 ms (interpreted; simulated arithmetic)
    - python3:  800 ms (interpreted;    native arithmetic)
    - racket:  1200 ms (interpreted; simulated arithmetic)

AUTHOR

  Justine Alexandra Roberts Tunney <jtunney@gmail.com>

LICENSE

  ISC

SEE ALSO

  SectorLISP
  SectorLambda