В Java, который быстрее:
Я полагаю, клонирование происходит быстрее, потому что:
Когда вы клонируете, вы создаете объект из другого, создавая его экземпляр и атрибуты. Когда вы используете потоки, вы сериализуете объект и десериализуете его (тогда как Java также должна создать экземпляр объекта). Поэтому, когда вы используете потоки, у вас есть накладные расходы на сериализацию объектов.
Конечно, реализация clone () не должна делать ничего необычного, увеличивающего время копирования объектов. Клонирование объекта с массивами, примитивами и строками не должно занимать так много времени.
Клонирование будет быстрее, если реализация clone () разумна.
Если задуматься, это потому, что clone () - это узкоспециализированная функция, которая делает только одну вещь: создает копию объекта. Следовательно, у него нет особых накладных расходов - обычно все, что он делает, - это копирование поля за полем в новый экземпляр объекта.
Но сделать ваши объекты неизменными и больше не беспокоиться о клонировании экземпляров будет еще быстрее: -)