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