Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rptb1
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
by
rptb1
13y ago
It would be excellent to have the Definition available online. MLWorks originated with a contract to develop a very strict implementation of the Definition, and we were quite proud of being truly Standard ML.
2.
▲
by
rptb1
13y ago
Why thank you. Although we've opened the coffin, we've yet to reanimate the corpse. Anyone who'd like to help out, please take a look at https://github.com/Ravenbrook/mlworks/wiki/Roadmap
3.
▲
by
rptb1
14y ago
I think we'd need a more careful definition of "handle" there! And we're definitely not proselytizing garbage collection here. The MPS is a framework for both manual and automatic memory management (and co-operation between the two). One
4.
▲
by
rptb1
14y ago
This is a really interesting topic and I could fill your screens with a wall of text. It's true that the MPS currently does not collect concurrently, however the only thing that makes it not-concurrent is a critical point in the Shield abs
5.
▲
by
rptb1
14y ago
There is currently a "global pause" to scan thread registers and stacks at "flip", but that's all. Is that what you meant? Since we're just moving our commercial clients onto 64-bit, we don't have experience except up to the 4GB limit (or
6.
▲
by
rptb1
14y ago
Perhaps you could write to mps-questions and we can have a chat about it.
7.
▲
by
rptb1
14y ago
Sure. The MPS approach that's deployed commercially is to use an unfashionable hardware read barrier to amortize the cost of the pointer rewrite, allowing the heap to be compacted incrementally. There's nothing that takes minutes or even
8.
▲
by
rptb1
14y ago
Yes indeed I'm very aware of this. The overall architecture and abstractions can support efficient multi-core operation, but the implementation is behind. Development is mostly paid for by single-threaded clients at the moment! But I hav
9.
▲
by
rptb1
14y ago
Old but still reasonably accurate for a high-level view is the original "open source" announcement paper http://www.ravenbrook.com/project/mps/doc/2002-01-30/ismm200...
10.
▲
by
rptb1
14y ago
I can't give you figures right now, but the reason we have commercial clients for the MPS is that we have extremely low pause times. Side-by-side comparisons are expensive to arrange. I'm working on that :)
11.
▲
by
rptb1
14y ago
Yeah we're not really a drop-in malloc replacement like Boehm, though we could have some glue which deploys the MPS like that. Take a look at the Scheme example to see how the MPS integrates at present http://www.ravenbrook.com/project/mp
12.
▲
by
rptb1
14y ago
It's both a precise and conservative GC, depending on what you declare to it, and which pool classes you use. In commercial deployment and in Open Dylan it's a mostly-copying GC (i.e. a mixture of both) see http://www.memorymanagement.org
13.
▲
by
rptb1
14y ago
I should probably clarify that little bit of hyperbole. We do track known issues (of course), but bugs in production are extremely rare -- about one per year.
14.
▲
by
rptb1
14y ago
It's an extremely simple toy intended to help people understand how to integrate the MPS, rather than show it off. But have at it!