Bạn gọi điều này được tối ưu hóa? [đóng cửa]


9

Nhiệm vụ rất đơn giản, đăng 2 đoạn mã thực hiện cùng một nhiệm vụ, trong đó thoạt nhìn có vẻ rất tối ưu, nhưng thực tế thì chậm hơn đáng kể so với cái kia.

Chỉ có một quy tắc:

  • Cả hai đoạn phải kết thúc với cùng một đầu ra (cho cùng một đầu vào đã cho, nếu có).

1
Không chọn một nhiệm vụ cụ thể, tôi nghĩ rằng đây là cách quá rộng để trở nên thú vị. Bạn cũng nên chỉ định nếu cả hai đoạn mã phải sử dụng cùng một ngôn ngữ.
Dennis

@Dennis yeah nó có thể quá rộng, tôi chỉ muốn xem một số cách tiếp cận sáng tạo. Ngoài ra, không có giới hạn về ngôn ngữ, để người ta có thể tự do sáng tạo hơn.
vrwim

9
Tự do sáng tạo không dẫn đến câu trả lời sáng tạo. Nó đòi hỏi nhiều sự sáng tạo để giải quyết một nhiệm vụ khó khăn hơn là một nhiệm vụ dễ dàng.
Dennis

Câu trả lời:


11

Con trăn 3

Có vẻ nhanh ...

 print(0 < 10**100 - 1 < 10**100)

Có vẻ chậm ...

 print(10**100 - 1 in range(0, 10**100))

Nhưng hai người chạy trong thời gian rất giống nhau! rangecó một triển khai hiệu quảin


Câu hỏi được đặt sang một bên, không phải điều này làm ngược lại với những gì câu hỏi đang hỏi? Bạn muốn thứ gì đó có vẻ nhanh nhưng thực sự chậm, không phải thứ gì đó có vẻ chậm mà thực sự nhanh ...
Sp3000

4
@ Sp3000 đúng nhưng nó quá rộng đến nỗi tôi quyết định đăng một câu trả lời thậm chí còn rộng hơn.
Caridorc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.