on master help sign in
add new runtime bounties
commit07c4531f8729b53890d7f53656564052c4cdf99f authorMike Osborne <mike@urbit.org> dateThu 17 Jun 2021, 16:26 (5 years ago) parenta5c6245
3 files changed+165
content/grants/bounties/json-jet.md+47 content/grants/bounties/nuck-jet.md+51 content/grants/bounties/slaw-scot-jets.md+67
content/grants/bounties/json-jet.mdnew file+47
@@ -0,0 +1,47 @@
1++++
2+title = "JSON Parsing/Serializaiton Jet"
3+date = 2021-06-17
4+[taxonomies]
5+grant_type = ["bounties"]
6+grant_category = ["Core Dev"]
7+[extra]
8+image = ""
9+description = "Create high performance JSON parsing/serializing jet."
10+reward = 1
11+mentor = "~timluc-miptev"
12+assignee = ""
13+completed = false
14+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0036&prefill_Grant+Name=JSON%20Parsing%2FSerialization%20Jet"
15++++
16+
17+## Jet JSON Parsing/Serialization
18+
19+We need to generally speed up common parsing and serialization operations. A large part of Urbit's UX is sending data in and out of Urbit for display in the UI, and the functions inside Urbit that handle this are all significant performance bottlenecks.
20+
21+Urbit serializes JSON frequently when sending data to various frontends, and this would make that much more rapid.
22+
23+Completing this bounty will have an immediate impact on the perceived speed of the system in frontends like Landscape.
24+
25+### Code
26+
27+* https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/zuse.hoon#L3263
28+* https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/zuse.hoon#L3320
29+
30+### Requirements
31+
32+* Knowledge of C
33+* Experience memory profiling to prevent leaks
34+* Hoon knowledge nice but not necessary
35+
36+### Resources
37+
38+* Tlon engineer explanation/assistance as needed
39+* Check-in with a Foundation director as needed
40+
41+## Milestones
42+
43+### Work is complete
44+1 star
45+The jet is tested and merged.
46+
47+
content/grants/bounties/nuck-jet.mdnew file+51
@@ -0,0 +1,51 @@
1++++
2+title = "Nuck Jet"
3+date = 2021-06-17
4+[taxonomies]
5+grant_type = ["bounties"]
6+grant_category = ["Core Dev"]
7+[extra]
8+image = ""
9+description = "Create new high performance string parser jet."
10+reward = 1
11+mentor = "~timluc-miptev"
12+assignee = ""
13+completed = false
14+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0035&prefill_Grant+Name=Nuck%20Jet"
15++++
16+
17+## jet +nuck
18+We need to generally speed up common parsing and serialization operations. A large part of Urbit's UX is sending data in and out of Urbit for display in the UI, and the functions inside Urbit that handle this are all significant performance bottlenecks.
19+
20+This is a function that parses strings and returns a `@ta` of their aura along with their atom value. This is invoked every time a scry happens, and currently takes 7ms for invocation, so there is potential for large performance gains.
21+
22+Completing this bounty will have an immediate impact on the perceived speed of the system in frontends like Landscape.
23+
24+### Examples
25+Note the `~.p` and `~.ux`--those are the auras.
26+```
27+> (scan "~pillyt" nuck:so)
28+[% p=[p=~.p q=32.819]]
29+> (scan "0x12" nuck:so)
30+[% p=[p=~.ux q=18]]
31+```
32+### Code
33+https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/hoon.hoon#L5767
34+
35+### Requirements
36+* Knowledge of C
37+* Experience memory profiling to prevent leaks
38+* Hoon knowledge nice but not necessary
39+
40+### Resources
41+* Tlon engineer explanation/assistance as needed
42+* Check-in with a Foundation director as needed
43+
44+
45+## Milestones
46+
47+### Work is complete
48+1 star
49+The jet is tested and merged.
50+
51+
content/grants/bounties/slaw-scot-jets.mdnew file+67
@@ -0,0 +1,67 @@
1++++
2+title = "Tune slaw/scot Jets"
3+date = 2021-06-17
4+[taxonomies]
5+grant_type = ["bounties"]
6+grant_category = ["Core Dev"]
7+[extra]
8+image = ""
9+description = "Tune slaw/scot jets for better perfomance."
10+reward = 1
11+mentor = "~timluc-miptev"
12+assignee = ""
13+completed = false
14+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=B0037&prefill_Grant+Name=Tune%20slaw%2Fscot%20jets"
15++++
16+
17+## slaw/scot
18+
19+We need to generally speed up common parsing and serialization operations. A large part of Urbit's UX is sending data in and out of Urbit for display in the UI, and the functions inside Urbit that handle this are all significant performance bottlenecks.
20+
21+`slaw` parses strings to atoms, and `scot` serializes atoms to strings. They both are used heavily throughout the codebase.
22+
23+Completing this bounty will have an immediate impact on the perceived speed of the system in frontends like Landscape.
24+
25+### Examples
26+slaw
27+```
28+> `(unit @p)`(slaw %p '~pillyt')
29+[~ ~pillyt]
30+> `(unit @p)`(slaw %p '~pillam')
31+~
32+> `(unit @ux)`(slaw %ux '0x12')
33+[~ 0x12]
34+> `(unit @ux)`(slaw %ux '0b10')
35+```
36+
37+scot
38+```
39+> `@t`(scot %p ~pillyt)
40+'~pillyt'
41+> (scot %ux 0x12)
42+~.0x12
43+```
44+
45+### Code
46+
47+* slaw https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/hoon.hoon#L5913
48+* scot https://github.com/urbit/urbit/blob/master/pkg/arvo/sys/hoon.hoon#L5905
49+
50+### Requirements
51+
52+* Knowledge of C
53+* Experience memory profiling to prevent leaks
54+* Hoon knowledge nice but not necessary
55+
56+### Resources
57+
58+* Tlon engineer explanation/assistance as needed
59+* Check-in with a Foundation director as needed
60+
61+## Milestones
62+
63+### Work is complete
64+1 star
65+The jets are tested and merged.
66+
67+