Не удивлюсь, если чисто алгоритмически вполне можно определить эту безболезненность.
На этапе выполнения, а не компиляции
time ./pypy_string_test_c
И тут стало понятно, что Вы - человек совсем без мозгов. Мерить производительность командной time?

Давайте я объясню Вам, какой результат Вы на самом деле получили) pypy был закеширован в оперативную память, а новоиспеченный бинарник - нет)
Пользователь решил продолжить мысль [time]04 Июль 2015, 02:22:48[/time]:
ООП это не плюс или минус, это возможность, инструмент. А умеешь ли ты с нем обращаться... Бывают случаи, когда применение ООП только усложняет код. Просто на ООП пошла мода, уже достаточно давно. Сейчас вроде функциональные становятся популярнее.
Не бывает такого, чтобы ООП усложняло код, если это конечно не задачи, которые решает какой-нибудь lisp. Дело не в моде, ООП - это вещь абсолютно естественная и родная для окружающего нас мира, при помощи ООП гораздо проще, удобнее и логичнее эмулировать процессы, происходящие в реальном мире, в виртуальном. Сходство порой доходит до того, что тебе просто достаточно описать некий процесс, происходящий в реальном мире, на нужном языке программирования, и задача будет решена. Вообщем, без ООП сейчас никуда) Может быть где-то и существуют задачи, для решения которых ООП не подходит, но их очень мало.
Это не проблема учеников, это проблема недоучителей, которые часто сами ничего не знают.
Это лишь пример. Не нужно ждать, что тебя кто-то чему-то научит, нужно взять и выучить самому. И изучение с++ - это отличный способ это сделать.