mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-17 03:44:34 +03:00
356f9fc9ac
Everytime a new road is constructed, a new bank of cells is allocated and initialized. This lead to over three megabytes of memory being allocated and accessed on each road change. This takes more than 1ms to complete. Road changes occur on each virtualization call. Each +soft happens virtualized; so each +soft call incurs a 1ms delay. The metavase machinery does at least two (and usually three) softs per card move meaning sending a card move through arvo usually incurs a 3ms delay. Before this patch, the following line took six seconds to execute. Now it is imperceivable: ``` ~:(turn (gulf 0 10.000) |=(a=@ud (mule |.(a)))) ``` |
||
---|---|---|
.. | ||
allocate.c | ||
events.c | ||
hashtable.c | ||
imprison.c | ||
jets.c | ||
manage.c | ||
nock.c | ||
retrieve.c | ||
trace.c | ||
vortex.c | ||
xtract.c | ||
zave.c |