Why are x3270/c3270/wc3270/wx3270 scripts slower than s3270 scripts?

Questions
Why are x3270/c3270/wc3270/wx3270 scripts slower than s3270 scripts?

Why does my script work fine on x3270/c3270/wc3270/wx3270, but breaks with s3270?

Why is s3270 so slow? It seems to take at least 350ms for it to send anything to the host!

Hey! You broke my perfectly good s3270 script!

Answer
All of these questions have the same answer: the unlock delay. Please refer to unlock delay for a full description of the feature and the resources that control it.

The reason there are differences in scripting behavior between s3270/tcl3270 and all of the other emulators is because unlockDelay is false in s3270/tcl3270 and true in the others.

The reason that s3270 and tcl3270 scripts may have different behavior with releases before 3.6 and with releases 3.6 and later is because the default value for unlockDelay in s3270 and tcl3270 changed from true to false in release 3.6. And just to complicate matters further, the default changed again in 4.1 to false.

The answer to the third question ("Why is s3270 so slow?") is because you are probably running an old release (prior to 3.6). But it has the same underlying explanation.