Hi,

A function in pcap-interface.c calls Chicken Scheme. It builds a vector containing a bunch of things, e.g. C_fix(ethtype), and the source and destination addresses as vectors. The scheme code converts the address vectors to u8vector (u16vector for IPv6). This is a lot of work: just under 20% of CPU time is spent in vector->u8vector.

If I could create a blob in C and pass it to scheme, the scheme code could use blob->u8vector/shared and blob->u16vector/shared which would achieve the same result with much less work.

What is the recommended way to pass a blob to scheme from C?

Is there a way to create a u8vector or u16vector directly in C?

Thank you.

--
Claude Marinier

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to