Okay, I'll rephrase, is it ok to inline empty constructors/destructors?
At the risk of being overly concise, yes, that's fine.
Is it ok to inline small length constructors/destructors?
Is it ok to inline long length constructors/destructors?
Now you're getting into the situational aspect. The usual recommendation for inlining is to keep it to small length functions because if it's actually inlined by the compiler, every call of that function will essentially be replaced with the body of the function. This can add up in terms of code size and ultimately increase the size of your executable file.
a general question such as "Is it good to inline constructors/destructors?" can be answered with examples that illustrate when inlining is usefull and when not
I don't think inlining is useful in practice. I never use the inline keyword explicitly and would prefer an equivalent noinline hint for functions defined inside the class definition. Pity it's not available in standard C++.
The topic you linked to mentioned output profiles, is there no other way?
The point of inlining is performance, right? So it's reasonable to assume that the only way to determine when inlining is viable is to measure performance. As the article also mentioned, programmers are notoriously bad at guessing where inlining could be beneficial.
Also it doesn't say anything about constructors/destructors (yes they are usual methods, however a bit more special).
That's largely irrelevant. The only consideration with constructors and destructors in terms of inlining, and especially with destructors, is that they're usually called implicitly. Thus it's not as simple to search or eyeball your code for instances. They're harder to guesstimate benefits of inlining, and it's more important to use a performance profiler and measure the speed changes against executable size changes.
"How can I determine a functions size?" in order to conclude that I get profit by inlining.
Define profit, some people want fast performance more and some want small size more. At what point do you consider the trade off of speed versus size beneficial? Is there actually a speed improvement or do you end up thrashing memory due to the extra size? These aren't questions that can be answered without context. That's why it's situational.
You can't simply say that a function with N instructions or less is "short" and more than that is "long", because it might apply to one program and not to another. Even compiling the same program with a different compiler can change the numbers behind the scenes and ruin your estimates. The problem here is that you're trying to oversimplify the concept of inlining to a number that can be used everywhere. If it were that simple, the general consensus wouldn't be to avoid inlining.