RF pointed out we don't need the thread safe collector unless we use
pthreads (and/or possibly async).

However there's no simple way to tell. Async can't happen with flx_run,
only with flx_arun. But pthreads are a core part of the RTL and even
flx_run can do a pthread.

Until I figure a way to know if pthreads are actually used (the resource
manager can actually tell us, if you depend on the pthread RTL library!),
we might at least refactor "flx_world" a bit more so the allocator and
GC are passed in to it.

The user .. on their head be it if they fire a nuke in a glass house .. can then
construct a non-thread safe collector.

There's also another optimisation. An allocator that does malloc(),
but never calls free(). It just leaks. Which is fine for quick scripts.
In fact with some thought we can replace malloc by calling it
to get a single 10Meg array and just bump a pointer for an allocation.

Malloc is thread safe, like it or not. Which means it might use locks
(although modern mallocs probably use thread local storage instead,
and only lock on gross allocations).

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to