Opened 3 years ago

Last modified 16 months ago

#1172 new defect

The overhead of loading import files is noticable

Reported by: sjamaan Owned by:
Priority: major Milestone: 5.1
Component: core libraries Version: 4.9.x
Keywords: modules, loading Cc:
Estimated difficulty: hard


As reported by CaptainRant? via IRC, the overhead in loading a .import.scm is quite a lot. This is an issue for CaptainRant? in a project that involves loading plugins into a running binary.

Attached is a simple test case that compares loading a full module versus a simple "unit" style dynamic object.

The biggest overhead is in the call to "eval" in the generated import file. This can be ripped out with no consequence to the loading of the plugin; this may be due to the simplicity of the plugin or really due to the fact that there's no code running at toplevel which requires the evaled import. In any case, this should be improved.

Attachments (1)

module-loading-benchmark.tar.gz (918 bytes) - added by sjamaan 3 years ago.

Download all attachments as: .zip

Change History (4)

Changed 3 years ago by sjamaan

comment:1 Changed 3 years ago by sjamaan

  • Milestone changed from someday to 5.0

If we're going to change import stuff for CHICKEN 5, might as well take this into consideration

comment:2 Changed 20 months ago by sjamaan

  • Estimated difficulty set to hard

comment:3 Changed 16 months ago by sjamaan

  • Milestone changed from 5.0 to 5.1

Can be done without user-visible changes, I think, so no reason to delay 5.0 for it.

Note: See TracTickets for help on using tickets.