production/production.lisp
An inspectable immutable unit of CPU work after it is submitted.
Compute request on the production worker and return a transferable value.
DESIRED is a latest-value map, not a history queue. Scheduling the same semantic key replaces work which has not started yet.
One completed value is the publication backpressure frontier. The owner must receive it before the worker begins another request, so result memory stays bounded even when rendering pauses.
Make one sleeping SB-CONCURRENCY mailbox worker.
There is intentionally no pool yet. One worker proves the ownership and publication protocol, prevents CPU oversubscription, and keeps completion order intelligible while taking expensive work out of an owner callback.
Whether key is desired or presently executing.
Cancel work for key if it has not begun; active results remain discardable.
Return the number of completed results waiting for their owner.
Cooperatively stop system after its active request, then join its worker.
(name &key kind components non-negative-p
(character nil character-supplied-p))Define quantity NAME and any homogeneous COMPONENTS as members of KIND. NON-NEGATIVE-P declares a non-negative amount and defaults its character to :ABSOLUTE. CHARACTER may state :POINT, :ABSOLUTE, or :DIFFERENCE explicitly. Components inherit both.
An inspectable immutable unit of CPU work after it is submitted.
(request)Compute REQUEST on the production worker and return a transferable value.
A standard class whose annotated slots retain quantity declarations. Slot access and instance representation remain ordinary CLOS. The metaclass only makes definition-time meaning inspectable and inheritable. #OXBSAY
(left right)Logical disjunction of tests and raw truth values.
Test whether one compatible scalar is less than another.
Logical conjunction of tests and raw truth values.
Test whether two compatible scalars are equal.
(name-and-options lambda-list &body body)Define a function whose complete dynamic extent is an ambient trace zone. The inferred name is PACKAGE/FUNCTION. Use (NAME :ZONE ZONE-NAME) to provide a more semantic name and :VALUE FORM to attach a Tracy work count.
Logical negation of one test or raw truth value.
(system)(name)Name the calling thread in Tracy's timeline, if the profiler is running. Worker threads are worth naming as they start: an unnamed thread still gets a lane, but the lane is a thread id rather than a job. A thread that starts before START-TRACY keeps the anonymous lane, so start Tracy before the session whose threads…
((name &key (tracy-value nil tracy-value-supplied-p)) &body body)Measure BODY as nested zone NAME for whichever measurement is watching. TRACY-VALUE, when supplied, is attached to the Tracy zone at exit. It does not affect the bounded CPU trace, whose zones retain time and runtime costs. Two independent things may be: a Tracy viewer attached to this image, and an opt-in…
Division of two represented quantities.
Subtraction or unary negation.
(&key (name "luv single CPU producer"))Make one sleeping SB-CONCURRENCY mailbox worker. There is intentionally no pool yet. One worker proves the ownership and publication protocol, prevents CPU oversubscription, and keeps completion order intelligible while taking expensive work out of an owner callback.
(system key)(system key)Addition over compatible quantities.
(system &key (timeout 10.0))
A deliberately small owner/worker production boundary.