Last active
August 26, 2021 22:17
-
-
Save jtobin/4c05c17d5423810ed273ca7f64174af8 to your computer and use it in GitHub Desktop.
+up benchmarks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:- %say | |
|= $: * | |
[ben=?(%put %vip %get %bot %del) ~] | |
[min=(list (pair @ @)) mit=(pry @ _~) nit=_| ~] | |
== | |
:- %noun | |
:: +up benchmarks | |
:: | |
=/ pi (up @ _~) | |
:: | |
=> | |
|% | |
++ bench | |
|_ [in=(list (pair @ @)) pri=(pry @ _~)] | |
:: put list contents into psq | |
:: | |
++ put | |
|- ^- (pry @ _~) | |
?~ in | |
pri | |
$(pri (put:pi pri p.i.in q.i.in ~), in t.in) | |
:: put high-priority list contents into psq | |
:: | |
++ vip | |
|- ^- (pry @ _~) | |
?~ in | |
pri | |
$(pri (vip:pi pri p.i.in q.i.in ~), in t.in) | |
:: get list contents from psq | |
:: | |
++ get | |
=| acc=@ | |
|- ^- @ | |
?~ in | |
acc | |
=/ val (get:pi pri p.i.in) | |
?^ val | |
$(acc (add acc p.u.val), in t.in) | |
~& %empty-get-list-input | |
!! | |
:: sequentially empty queue via +bot | |
:: | |
++ bot | |
|- ^- (pry @ _~) | |
?~ pri ~ | |
=/ val (bot:pi pri) | |
?^ val | |
$(pri s.u.val) | |
~& %empty-bot-list-input | |
!! | |
:: delete list contents from psq | |
:: | |
++ del | |
|- ^- (pry @ _~) | |
?~ in ~ | |
$(pri (del:pi pri p.i.in), in t.in) | |
-- | |
-- | |
=/ tin=(list (pair @ @)) | |
?^ min min | |
(turn (gulf 0x1 0xc350) |=(@ [+< +<])) | |
=/ pit=(pry @ _~) | |
?^ mit mit | |
~(put bench tin ~) | |
?: nit | |
[tin=tin pit=pit] | |
^- [tin=_tin pit=_pit] | |
?- ben | |
%put | |
=+ ~(put bench tin ~) | |
[~ ~] | |
:: | |
%vip | |
=+ ~(vip bench tin ~) | |
[~ ~] | |
:: | |
%get | |
=+ ~(get bench tin pit) | |
[~ ~] | |
:: | |
%bot | |
=+ ~(bot bench ~ pit) | |
[~ ~] | |
:: | |
%del | |
=+ ~(del bench tin pit) | |
[~ ~] | |
== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment