If we are going to rely on a message to help people get the most performance from their builds, that message should be the last thing you see when you compile; it should stand out (make it its own message, use a different color, etc.); and it should tell you something like "use -d:danger for maximum performance" or something like that.
That being said, I agree with @Araq that perhaps by default nim should try to give you the maximum performance possible. However, wouldn't that mean that the default should be -d:danger? What is the point of making -d:release the default if whenever somebody gets a performance issue the first thing they will be advised to do is use -d:danger (and perhaps even set some C compiler flags as well)? Honestly I think the fact that there are 3 modes is a little confusing and sends a mixed message. Many scripting language users might not know the difference between debug and release builds, let alone release and "danger" builds. IMHO we need to make it clear to them which are the use cases for -d:debug vs -d:release vs -d:danger.