Disclaimer: I'm not familiar with the specifics of AdaGide's release and debug modes.
Generally speaking, though...
Debug mode is when at least the debug flag (-g) is passed to the compiler so that the generated object files will retain symbol information for use by the debugger. It may pass other options, such as -gnata, that enables assertions, and the binder -E option used to store the callback stack in exceptions.
Unless you employ a lot of assertions (pragma Assert) there's not likely to be a significant difference in terms of performance between debug and release modes. The object files and executables for the debug version will, though, likely be significantly larger due to retaining the symbol information.
It's possible that release mode might disable runtime checks--which would potentially have a noticeable performance impact, but doing that as part of a nominal "release" mode would almost always be a very bad thing to do in Ada. As a general practice, one disables runtime checks only when performance requirements demand it, only where it materially affects performance, and only after those code sections have been formally proved and/or exhaustively tested and verified for correct execution.
The optimization options, -O2 and so on, will more materially affect performance, though the final amount depends on how one's code is structured and executed. YMMV.