Lines Matching +full:dozen +full:- +full:test +full:- +full:rules
2 <!--#include file="header.html" -->
44 (supporting edit/compile/test cycles in a text console), configure
77 <p>Quick smoketest: use the "time" command, and if you haven't got a test
84 way there, and most of the rest is either fine-tuning or more trouble than
105 code, encryption, rsync...) Worry about throughput inside long-running
113 I/O transactions instead of byte-at-a-time".
126 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part1-2.html>part one</a>,
127 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part2-1.html>part two</a>,
128 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part3-1.html>part three</a>,
132 <a href=http://arstechnica.com/articles/paedia/cpu/bandwidth-latency.ars>bandwidth
136 to L2 cache costs a dozen or so clock cycles, and waiting for a worst case dram
140 is 128k and a big L2 cache is a couple of megabytes. A cheap low-power
143 <p>Learn how <a href=http://nommu.org/memory-faq.txt>virtual memory and
147 operating system to break copy-on-write, which allocates more memory. (The
149 copy-on-write mappings of the zero page. Actual physical pages get allocated
150 when the copy-on-write gets broken by writing to the virtual page. This
204 and trusting locality of reference to bring up the same dozen or so entries
205 for "ls -l /dev" or similar. The pathological failure mode of "simple
211 because the sort is a compile-time cost done once per build,
224 and maybe run "nm --size-sort" on files in generated/unstripped.
225 (See make bloatcheck below for toybox's built in nm size diff-er.)</p>
231 <p>What "size" means depends on context: there are at least a half dozen
266 of a program and show size changes in each symbol (using "nm --size-sort").
277 of a user will generally bit-rot before it finds one.</p>
302 <p>Simplicity itself can have subtle non-obvious aspects requiring a tradeoff
322 glibc doesn't) is another way to be self-contained with known boundaries:
347 approach (half-minute wait vs instant results). This is one example
353 in knowledge about strange real-world use cases that the designers didn't
357 <p>That said, the Mythical Man-Month's "build one to throw away" advice points
366 Open source software can afford to re-implement code that works, over and
370 versions, Coherent was the first full from-scratch Unix clone in 1980,
385 <a href=http://blog.outer-court.com/archive/2005-08-24-n14.html>why
392 <p>Toybox should run on Android (all commands with musl-libc, as large a subset
404 <a href=https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf>c11</a>,
408 the <a href=https://www.kernel.org/doc/man-pages/>Linux man pages</a>,
409 various <a href=https://www.rfc-editor.org/rfc-index.html>IETF RFCs</a>,
413 <a href=https://man7.org/linux/man-pages/man4/console_codes.4.html>escape sequences</a>.
415 musl-libc, and bionic, plus occasional <a href=https://github.com/landley/toybox/blob/master/kconfi…
420 posix-2008 libc features such as the openat() family of
444 Posix-2008 switched some things to larger (64 bit) data types and added the
470 (For example, we didn't start using "wait -n" until it had been in bash for 7
474 <p>Using newer vs older RFCs, and upgrading between versions, is a per-case
481 without replying on non-posix APIs....</p>
488 <p>The build needs bash (not a pure-posix sh), and building on MacOS requires
489 "gsed" (because Mac's sed is terrible), but toybox is explicitly self-hosting
502 appropriate #ifdef), we only really test against Linux errno values
517 x86-64 were <a href=http://www.pagetable.com/?p=6>explicitly designed to
521 guarantees that on any Unix-like platform "long" and "pointer" types
538 curious here are <a href=https://devblogs.microsoft.com/oldnewthing/20050131-00/?p=36563>the insane…
545 with 128-bit general purpose registers wouldn't be commercially viable
546 <a href=https://landley.net/notes-2011.html#26-06-2011>until 2053</a>
547 (because 2005+32*1.5), and with the S-curve of Moore's Law slowly
548 <a href=http://www.acm.org/articles/people-of-acm/2016/david-patterson>bending back down</a> as
549 atomic limits and <a href=http://www.cnet.com/news/end-of-moores-law-its-not-just-about-physics/>ex…
554 S-curve bending down means probably not in our lifetimes, and
561 feeding the compiler -funsigned-char.</p>
563 <p>The reason to pick "unsigned" is that way char strings are 8-bit clean by
564 default, which makes UTF-8 support easier.</p>
573 <p>Thus "bad -A '%c'" is
574 preferable to "Unrecognized address base '%c'", because a non-english speaker
575 can see that -A was the problem (giving back the command line argument they
584 (which non-english speakers can presumably recognize already). Keep the
592 <p>All commands should be 8-bit clean, with explicit
593 <a href=http://yarchive.net/comp/linux/utf8.html>UTF-8</a> support where
595 it and pass it through. (For this reason, our build is -funsigned-char on
602 <p>Someday we should probably have translated --help text, but that's a
603 post-1.0 issue.</p>
610 and sometimes additional explanation at the end. Default values and --longopts
613 <p>Toybox silently accepts a lot of compatibility flags like <b>patch -u</b>
623 <a href=roadmap.html#dev_env>self-hosting development envirionments</a>,
632 deflate and sha1sum, which lets the corresponding built-in implementations
633 be simple (and thus slow). But the built-in implementations need to exist and
650 Just as a GPLv2 project can't incorporate GPLv3 code and a BSD-licensed
674 sed -i ':loop;s/^\( *\) /\1\t/;t loop' filename
679 sed -i ':loop;s/^\( *\)\t/\1 /;t loop' filename
686 These rules are mostly to make the code look consistent, and thus easier
710 (with his 8-character tab indents where just being in a function eats 8 chars
722 on the same line as the test/loop statement. The exception to both cases is
723 if the test part of an if statement is long enough to split into multiple
782 thing as self-documenting code (if nothing else, code with _no_ comments
787 <!--#include file="footer.html" -->