I was investigating perf in node-chakracore, and I noticed that there were a lot of calls to IsExternal. I was surprised to find that it was essentially due to this line: https://github.com/nodejs/node/blob/master/src/env-inl.h#L275
According to https://github.com/nodejs/node/blob/master/src/util.h#L130 ASSERT is enabled unless NDEBUG is defined and I don't see anywhere in the build that sets that. Is this intentional? There is also a CHECK macro which doesn't have the same off switch, so it does seem like asserts are intended to be disabled in release builds.
I was investigating perf in node-chakracore, and I noticed that there were a lot of calls to
IsExternal. I was surprised to find that it was essentially due to this line: https://github.com/nodejs/node/blob/master/src/env-inl.h#L275According to https://github.com/nodejs/node/blob/master/src/util.h#L130
ASSERTis enabled unlessNDEBUGis defined and I don't see anywhere in the build that sets that. Is this intentional? There is also aCHECKmacro which doesn't have the same off switch, so it does seem like asserts are intended to be disabled in release builds.