Câu hỏi này tôi đã được học viên hỏi rất nhiều lần và câu trả lời luôn là chưa được giải đáp. Tôi sẽ test với Xcode 7.3 beta và chạy một vài đoạn mã so sánh Swift 2.2 và Obj-C. Kết quả chắc sẽ ngạc nhiên với tất cả chúng ta.

Tôi đã đọc vài bài viết về việc so sánh giữa SwiftObj-C và một trong số đó nói là Swift nhanh hơn nhưng với tôi thì trong một vài trường hợp cụ thể thì Swift sẽ nhanh hơn nhưng Obj-C vẫn có những lợi thế riêng của nó.

Trong lần test này chúng ta sẽ sử dụng cấu trúc dữ liệu nguyên thuỷ của Swift (Array, Dictionary, Set) với Obj-C sẽ là (NSArray, NSDictionary, NSSet). Tôi sẽ sử dụng XCTest cho cả hai. Với tôi thì nó đơn giản và có sẵn luôn đối với Swift và Obj-C. Chúng ta sẽ chạy với chế độ mặc định bởi vì đôi khi có thể Apple sẽ ưu ái hơn khi thêm một số option(Relase optimiztion) tôi làm điều này chỉ để chắc chắn xem liệu Swift có chậm hợn Obj-C trong khi debug hay không.

Tất cả các kiểu dữ liệu được nói đến ở trên sẽ được đổ đầy với một triệu các phần tử kiểu (String hoặc NSString) là các số random và tôi sẽ chạy mỗi một trường hợp test 10 lần.

Array

Đây là kiểu dữ liệu cơ bản và rất quen thuộc với lập trình viên ở mọi ngôn ngữ. Với Array Swift thắng.

Nên học lập trình iOS bằng Swift hay Objective-C?

Sets

Set không nhanh hơn NSSet. Các bạn có thể nhìn rõ 2 cột Add và Remove các phần tử.

Nên học lập trình iOS bằng Swift hay Objective-C?

Dictionaries

Đây là một dữ liệu kiểu cấu trúc khá tương đồng trong cả hai ngôn ngữ. Quá trình thêm thì Swift chậm hơn, nhưng bạn có thể đếm số phần tử nhanh hơn hẳn.

Nên học lập trình iOS bằng Swift hay Objective-C?

Kết luận

Tôi rất muốn nói là Swift nhanh hơn nhưng điều đó là không đúng. Nó không chậm hơn nhưng cũng không nhanh hơn trong tất cả các trường hợp, điều đó không có nghĩa là chúng ta sẽ quay lại với Obj-C. Swift cũng có nhiều điểm thuận lợi hơn cho phép bạn có thể dễ hiểu hơn về cú pháp, đa nền tảng, có thể là với nhiều các chức năng tuyệt vời hơn mà Apple sẽ cung cấp như là bố mẹ lúc nào cũng chăm chút hơn cho đứa con bé hơn và hãy nhớ đừng trở thành người lạc hậu trong công nghệ, vậy ngay bây giờ hãy cùng đọc một vài các quyển sách hay về swift để cảm nhận.

Nguồn bài viết:http://www.thedroidsonroids.com/blog/ios/swift-vs-obj-c-performance-comparision/

Tham khảo:

Hiện nay tại TechMaster đang có 3 khóa học về lập trình iOS, một khóa dạy bằng ngôn ngữ Objective-C, một khóa bằng ngôn ngữ Swift và một khoá Swift - Kết nối REST Web Service. Hình thức học tập rất linh hoạt cho bạn lựa chọn và sẽ có mức học phí khác nhau tùy theo bạn chọn học online, offline hoặc FlipLearning (kết hợp giữa online và offline). Ngoài ra bạn cũng có thể tham gia thực tập toàn thời gian tại TechMaster để rút ngắn thời gian học và nhanh chóng đi kiếm việc làm.