Browse Source
I've gathered some information about the possible goals behind the MM rewrite. Documenting the goals (the vision) is often important for the project success, it affects future design decisions and helps team communication by establishing shared values.pass-iguana-arg
Artem
7 years ago
1 changed files with 29 additions and 0 deletions
@ -0,0 +1,29 @@ |
|||
# MarketMaker2 |
|||
|
|||
This document will help us track the information related to the MarketMaker Rust rewrite. |
|||
|
|||
## Rewrite goals |
|||
|
|||
Rewrites and ports |
|||
[are costly](http://nibblestew.blogspot.com/2017/04/why-dont-you-just-rewrite-it-in-x.html). |
|||
We tend to think that porting is simple, and on some level this intuition is true |
|||
because we can skip some high-level design decisions and focus on translating the existing logic, |
|||
but it still takes a lot of time |
|||
and though we don't need to make some of the new design decisions, |
|||
we might spend no less effort to reverse-engineer and understand the old ones. |
|||
|
|||
So why the rewrite then? |
|||
|
|||
Carol, in her talk about rewrites, offers some possible reasons: |
|||
|
|||
"*If* you have some code in C or another language, and need to change it, or it’s slow, or it crashes a |
|||
lot, or no one understands it anymore, THEN maybe a rewrite in Rust would be a good fit. |
|||
I would also posit that more people are *able* to write production Rust than production C, so if your |
|||
team *is* willing to learn Rust, it might actually expand the number of maintainers." |
|||
- https://github.com/carols10cents/rust-out-your-c-talk, https://www.youtube.com/watch?v=SKGVItFlK3w |
|||
|
|||
And we have some of those: |
|||
|
|||
* We *need to change* MarketMaker: A more approachable and reliable API. Ability to embed the MarketMaker in the GUI applications. Ways to more easily deploy it at home by running it from small computers like on a spare mobile phone or on a Raspberry Pi 3. |
|||
|
|||
* The MarketMaker *crashes a lot*, to quote hyperDEX: "The biggest issue with the MM right now, is bobs crash or does not have the orders in users orderbook, or when users try to do a order it doesnt work or goes unmatched or other random stuff". |
Loading…
Reference in new issue