Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: So sánh tốc độ của C vs C++

  1. #1
    Ngày gia nhập
    04 2009
    Bài viết
    9

    Mặc định So sánh tốc độ của C vs C++

    chào mọi người!
    mình có 1 vấn đề muốn hỏi mọi người thế này: theo mình biết thì tốc độ biên dịch và thực thi của ứng dụng viết bằng C nhanh hơn so với C++(ứng dụng cùng 1 mục đích)
    --> mọi người cho mình hỏi tại sao vậy?Có phải do trình biên dịch của C tốt hơn C++ không?
    và tại sao trong lĩnh vực Embedded System lại chọn C làm ngôn ngữ?
    Cảm ơn mọi người

  2. #2
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Mình có chút ngu ý sau: THÔNG THƯỜNG cái gì mà càng đơn giản thì càng ...nhanh là điểm thứ nhất
    Và càng nhẹ là điểm thứ 2.
    Vấn đề ko phải là do trình biên dịch C và C++ cái nào CAO CẤP hơn cái nào. Mà do ngôn ngữ C++ nó ..."cao cấp" hơn(dùng từ gì nhỉ); đại loại là nó có nhiều cái mới, thuật ngữ mới, rồi cái gì gì mới đó .. vân vân , nên nó ..."nặng" hơn chút xíu.

    Trong hệ thống nhúng, người ta viết C vì C có thể nói là nhẹ nhất trong cái đám bậc cao mà ng` ta đang xài. Mấy cái hệ thống nhúng thì cái bộ nhớ nó bé tí tẹo, nhét cái cục lớn vào nó chạy ko được. Người ta cần 1 "cục"(phần mềm) đủ nhỏ gọn để có thể nhét nó vào
    Vì thế ng` ta viết C và thậm chí xúc luôn ASM cho "thơm"
    Và nếu cái hệ nhúng đó có "cấu hình" ngon hơn tí thì ko dại gì ng` ta viết mấy cái đó cho cực, ng` ta chọn cái "CAO CẤP" hơn để viết cho nó tiện
    Um Mani Padme Hum...!!

  3. #3
    Ngày gia nhập
    08 2011
    Bài viết
    117

    tớ đã từng search câu hỏi tương tự và nhận được khá nhiều ý kiến trái ngược nhau.

    nhưng tớ thiên về ý kiến C vs C++ không ngôn ngữ nào nhanh hơn cả mà vấn đề ở đây chỉ là TRÌNH BIÊN DỊCH "thông minh" hơn.

    Ý tớ muốn nói đến vấn đề ở đây là trình biên dịch chứ không phải ngôn ngữ quyết định cùng 1 mục đích C hay C++ nhanh hơn.

  4. #4
    Ngày gia nhập
    07 2010
    Nơi ở
    chỗ kín
    Bài viết
    446

    mã C dịch ra thường gần mã máy hơn
    C++ là ngôn ngữ bậc cao nên dịch nó có nhiều chỗ ko thể sát với mã máy dc.

    Những công việc đơn giản như dùng ngôn ngữ này thì thực hiện thuật toán sắp xếp nhanh hơn dùng ngôn ngữ kia, mình đảm bảo ko có chuyện đấy đâu, mấy bài toán đơn giản thì C=Pascal =BASIC = C++

    mấy cái ss kiểu này là ss trình dịch, ko có chuyện nn này nhanh hơn nn kia

  5. #5
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Bạn có thể tham khảo thêm đề tài này: So sánh C++ và C (So sánh Classes and methods)

    Trong một đề tài năm ngoái (2011), có một bạn hỏi về cout và printf cái nào nhanh hơn. Nhưng bạn đó tự xóa bài viết khiến đề tài bị xóa bỏ vì nhảm nhí!

    Kevin xin trích dẫn lại trả lời như sau:
    Trích dẫn Nguyên bản được gửi bởi Kevin Hoang
    1. printf tốn công cho việc format dữ liệu khi output
    2. cout mất thời gian cho việc kế thừa giữa các đối tượng.

    Nếu luồng dữ liệu được ghi vào NULL device thì chắc chắn printf ghi nhanh hơn. Nếu ghi dữ liệu vào một file cụ thể thì cout sẽ nhanh hơn chứ?

    Nếu sử dụng std::endl thì chậm hơn nhiều, nếu có thiết lập hàm std::cout.sync_with_stdio thì tốc độ sẽ thay đổi đấy. Với các kiểu dữ liệu khác nhau thì printf sẽ làm lượng công việc khác nhau! Ở mỗi chế độ khác nhau thì tốc độ làm việc khác nhau!
    Nếu trả lời chung chung là: C++ chậm hơn C, hoặc ngược lại là không chính xác.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  6. #6
    Ngày gia nhập
    08 2011
    Bài viết
    117

    Mặc định So sánh tốc độ của C vs C++

    và tại sao trong lĩnh vực Embedded System lại chọn C làm ngôn ngữ?
    về câu hỏi này thì theo tớ là do C++ nó mang theo mình bộ thư viện lớn hơn C mà ở những thiết bị hướng tới của lĩnh vực Embedded lại có bộ nhớ nhỏ --> C là sự lựa chọn thích hợp.

    còn về việc so sánh giữa C vs C++ thì bạn tham khảo thêm ở đây :

    Ref Links Code:

  7. #7
    Ngày gia nhập
    04 2009
    Bài viết
    9

    cảm ơn tất cả mọi người!

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn