Remora
Remora
Remora
asdf
Remora
is
faster
lightweight
asdf
Bench asdf vs remora
to load hunchentoot on ccl.
Asdf
● 36.464 sec
● 313,210,864 bytes of
memory allocated.
Remora
● 29.572 sec
● 304,207,024 bytes of
memory allocated.
What asdf/remora doing.
asdf
● Search asd file.
● Load asd file.
● Make asdf:system.
● Planning.
● Do tasks.
remora
● Search asd file.
● Read from asd file.
● Make remora:system.
● Planning.
● Do tasks.
Asdf vs Remora
How many slots
Asdf
● 34
Remora
● 7
Asdf vs remora
total code lines
Asdf
● 4887
Remora
● 794
Structure vs Class
Cost of making one slot instance
Structure
● 4,057 processor
cycles (on sbcl)
● 16 bytes of memory
allocated (on ccl)
Class
● 46,127,284 processor
cycles (on sbcl)
● 328 bytes of memory
allocated (on ccl)
Planning.
Asdf
● Using plan class
object.
● Depth first strategy(?)
Remora
● Using list as graph.
● Topological sort.
tsort.
● ((babel . (trivial-features alexandria))
(trivial-features . ())
(alexandria . ()))
↓
● ((trivial-features alexandria)(babel))
Tasks.
● Compile if needed.
● Load if needed.
Meaning of 'if needed'.
Compile
● Still not compiled.
● Source file newer than
fasl cache.
● Source file which
depends on was
modified.
● Dependent system
newer than system.
Load
● Still not loaded.
● File re/compiled.
Heavy tasks
● Compiling file.
● Getting file time stamp.
● Making directory.
● Printing to stream.
Bench asdf vs remora again
to load hunchentoot on ccl.
Asdf
● 36.464 sec
● 313,210,864 bytes of
memory allocated.
Remora with parallel
● 12.257 sec
● 2,952,899,360 bytes
of memory allocated.

Remora the another asdf.

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
    Bench asdf vsremora to load hunchentoot on ccl. Asdf ● 36.464 sec ● 313,210,864 bytes of memory allocated. Remora ● 29.572 sec ● 304,207,024 bytes of memory allocated.
  • 6.
    What asdf/remora doing. asdf ●Search asd file. ● Load asd file. ● Make asdf:system. ● Planning. ● Do tasks. remora ● Search asd file. ● Read from asd file. ● Make remora:system. ● Planning. ● Do tasks.
  • 7.
    Asdf vs Remora Howmany slots Asdf ● 34 Remora ● 7
  • 8.
    Asdf vs remora totalcode lines Asdf ● 4887 Remora ● 794
  • 9.
    Structure vs Class Costof making one slot instance Structure ● 4,057 processor cycles (on sbcl) ● 16 bytes of memory allocated (on ccl) Class ● 46,127,284 processor cycles (on sbcl) ● 328 bytes of memory allocated (on ccl)
  • 10.
    Planning. Asdf ● Using planclass object. ● Depth first strategy(?) Remora ● Using list as graph. ● Topological sort.
  • 11.
    tsort. ● ((babel .(trivial-features alexandria)) (trivial-features . ()) (alexandria . ())) ↓ ● ((trivial-features alexandria)(babel))
  • 12.
    Tasks. ● Compile ifneeded. ● Load if needed.
  • 13.
    Meaning of 'ifneeded'. Compile ● Still not compiled. ● Source file newer than fasl cache. ● Source file which depends on was modified. ● Dependent system newer than system. Load ● Still not loaded. ● File re/compiled.
  • 14.
    Heavy tasks ● Compilingfile. ● Getting file time stamp. ● Making directory. ● Printing to stream.
  • 15.
    Bench asdf vsremora again to load hunchentoot on ccl. Asdf ● 36.464 sec ● 313,210,864 bytes of memory allocated. Remora with parallel ● 12.257 sec ● 2,952,899,360 bytes of memory allocated.