Merge pull request #4932 from urbit/la/fast-look

arvo: add +de-case to speed up +de-beam, prime cache in +settle:va
This commit is contained in:
L 2021-06-01 13:45:32 -05:00 committed by GitHub
commit 21ae35a08f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 6 deletions

View File

@ -252,11 +252,13 @@
:: %what: update from files :: %what: update from files
:: %whey: produce $mass :: XX remove, scry :: %whey: produce $mass :: XX remove, scry
:: %verb: toggle laconicity :: %verb: toggle laconicity
:: %whiz: prime vane caches
:: ::
$% [%trim p=@ud] $% [%trim p=@ud]
[%what p=(list (pair path (cask)))] [%what p=(list (pair path (cask)))]
[%whey ~] [%whey ~]
[%verb p=(unit ?)] [%verb p=(unit ?)]
[%whiz ~]
== ==
+$ wasp +$ wasp
:: %crud: reroute $ovum with $goof :: %crud: reroute $ovum with $goof
@ -291,14 +293,23 @@
|=(b=beam =*(s scot `path`[(s %p p.b) q.b (s r.b) s.b])) |=(b=beam =*(s scot `path`[(s %p p.b) q.b (s r.b) s.b]))
:: ::
++ de-beam ++ de-beam
~/ %de-beam
|= p=path |= p=path
^- (unit beam) ^- (unit beam)
?. ?=([@ @ @ *] p) ~ ?. ?=([@ @ @ *] p) ~
?~ who=(slaw %p i.p) ~ ?~ who=(slaw %p i.p) ~
?~ des=?~(i.t.p (some %$) (slaw %tas i.t.p)) ~ :: XX +sym ;~(pose low (easy %$)) ?~ des=?~(i.t.p (some %$) (slaw %tas i.t.p)) ~ :: XX +sym ;~(pose low (easy %$))
?~ ved=(slay i.t.t.p) ~ ?~ ved=(de-case i.t.t.p) ~
?. ?=([%$ case] u.ved) ~ `[[`ship`u.who `desk`u.des u.ved] t.t.t.p]
`(unit beam)`[~ [`ship`u.who `desk`u.des `case`p.u.ved] t.t.t.p] ::
++ de-case
~/ %de-case
|= =knot
^- (unit case)
?^ num=(slaw %ud knot) `[%ud u.num]
?^ wen=(slaw %da knot) `[%da u.wen]
?~ lab=(slaw %tas knot) ~
`[%tas u.lab]
:: ::
++ en-omen ++ en-omen
|= [vis=view bem=beam] |= [vis=view bem=beam]
@ -308,6 +319,7 @@
~(rent co [%many $/tas/way.vis $/tas/car.vis ~]) ~(rent co [%many $/tas/way.vis $/tas/car.vis ~])
:: ::
++ de-omen ++ de-omen
~/ %de-omen
|= pax=path |= pax=path
^- (unit [vis=view bem=beam]) ^- (unit [vis=view bem=beam])
?~ pax ~ ?~ pax ~
@ -1000,8 +1012,11 @@
++ settle ++ settle
|= van=vase |= van=vase
^- (pair vase worm) ^- (pair vase worm)
=/ [rig=vase wor=worm] (~(slym wa *worm) van *vane-sample) =| sac=worm
[van +:(~(slap wa wor) rig [%limb %scry])] =^ rig=vase sac (~(slym wa sac) van *vane-sample)
=^ gat=vase sac (~(slap wa sac) rig [%limb %scry])
=^ pro=vase sac (~(slap wa sac) gat [%limb %$])
[van +:(~(mint wa sac) p.pro [%$ 7])]
:: ::
:: XX pass identity to preserve behavior? :: XX pass identity to preserve behavior?
:: ::
@ -1470,6 +1485,9 @@
%verb ..pith(lac.fad ?~(p.waif !lac.fad u.p.waif)) %verb ..pith(lac.fad ?~(p.waif !lac.fad u.p.waif))
%what ~(kel what p.waif) %what ~(kel what p.waif)
%whey ..pith(out [[//arvo mass/whey] out]) %whey ..pith(out [[//arvo mass/whey] out])
::
%whiz
..pith(van.mod (~(run by van.mod) |=(vane (settle:va:part vase))))
== ==
:: ::
++ peek ++ peek

View File

@ -2102,6 +2102,7 @@
[%g task:gall] [%g task:gall]
[%i task:iris] [%i task:iris]
[%j task:jael] [%j task:jael]
[%$ %whiz ~]
[@tas %meta vase] [@tas %meta vase]
== ==
:: full vane names are required in vanes :: full vane names are required in vanes

View File

@ -159,7 +159,10 @@
~< %slog.[0 leaf+"gall: molted"] ~< %slog.[0 leaf+"gall: molted"]
:: +molt should never notify its client about agent changes :: +molt should never notify its client about agent changes
:: ::
=- [(skip -< |=(move ?=([* %give %onto *] +<))) ->] =- :_ ->
%+ welp
(skip -< |=(move ?=([* %give %onto *] +<)))
[^duct %pass /whiz/gall %$ %whiz ~]~
=/ adult adult-core =/ adult adult-core
=. state.adult =. state.adult
[%7 system-duct outstanding contacts yokes=~ blocked]:spore [%7 system-duct outstanding contacts yokes=~ blocked]:spore