Menu
Đăng ký
Truyện
← Trước Sau →
Truyen.Free

(Đã dịch) Cao Nhân Ở Bên Cạnh Ta - Chương 99: Số 101 tuyển thủ đã đi xa

Thật lòng mà nói, đề bài này đúng là làm khó Hác Vân.

Nhìn đề mục hồi lâu, cậu ta ngẩn người, không gõ nổi một dòng mã nào.

Tối ưu hóa mã nguồn của "engine Băng Xuyên"?

Nâng cao hiệu suất vận hành của engine lên 10%?

Hơn nữa, mã nguồn cấp thấp của cái engine này trông như thế nào, cậu ta còn chưa xem qua nữa.

Cùng lúc đó, tại hậu trường khu vực thi đấu.

Theo yêu cầu của viện sĩ Chiêm Vĩnh Húc, nhân viên đã kiểm tra màn hình của thí sinh số 101.

Nhìn đề số bốn hiển thị trên màn hình, Giáo sư Trương Tồn Hạo đứng cạnh viện sĩ Chiêm cười lắc đầu, giọng đầy vẻ tiếc nuối nhưng không hề bất ngờ nói:

"Không ngờ cậu ta lại chọn đề số bốn, xem ra là hết hy vọng rồi."

"Ồ?" Viện sĩ Chiêm Vĩnh Húc nhướn mày đầy hứng thú.

"Thầy ơi, thầy chắc chưa quên, trước khi về giảng dạy ở Đại học Thủy Mộc, em từng có thời gian làm việc tại Bộ phận Nghiên cứu Phần mềm của Tập đoàn Long Uy chứ ạ?" Giáo sư Trương Tồn Hạo nói đùa.

"Tôi thì chưa xem nội dung đề bài cụ thể, nhưng engine Băng Xuyên này cũng là sản phẩm của bộ phận các cậu sao?"

"Không hẳn là sản phẩm riêng của chúng tôi. Thực ra, đây là một sản phẩm do một đội ngũ nghiên cứu mà chúng tôi mua lại phát triển. Tuy nhiên, Bộ phận Nghiên cứu Phần mềm của chúng tôi đã tối ưu hóa nó. Phiên bản Băng Xuyên 3.0 hiện tại chính là sản phẩm đã được chúng tôi tối ưu hóa lần thứ hai. Các tựa game 3D hành động lớn phổ biến hiện nay, đặc biệt là game góc nhìn thứ ba, hầu hết đều được phát triển bằng engine này!" Giáo sư Trương Tồn Hạo vừa nói, trên mặt không khỏi hiện lên vẻ tự hào.

Tuy nhiên, quả thật anh ta có lý do để tự hào.

Tập đoàn Long Uy là một ông lớn trong lĩnh vực công nghiệp điện tử ở Hạ Quốc, và đội ngũ nghiên cứu phần mềm hùng hậu dưới trướng họ chính là một trong những yếu tố trụ cột quan trọng nhất định hình ngành này. Mặc dù trò chơi điện tử là một hình thức giải trí mới mẻ chỉ xuất hiện gần đây, nhưng không một kỹ sư phần mềm nào vì thế mà coi thường nó.

Ý của Giáo sư Trương Tồn Hạo rất rõ ràng.

So với ba đề còn lại không giới hạn tiêu chuẩn nghiệm thu kết quả, đề bài có yêu cầu rõ ràng về việc nâng cao hiệu suất này là hoàn toàn không thể hoàn thành!

Bởi vì đây là thành quả kết tinh từ tâm huyết của vô số kỹ sư phần mềm!

Bởi vì đây là sản phẩm đã trải qua vô vàn lần tối ưu hóa!

Bởi vì đây là mã nguồn ngắn gọn nhất!

Nó giống như một tác phẩm nghệ thuật, không hề có một ký tự nào là thừa thãi!

Đừng nói là những học sinh đang ngồi đây, ngay cả hội đồng chấm thi ở đây cũng gần như không thể làm được nếu muốn giải quyết đề số bốn này trong vỏn vẹn ba ngày.

Đương nhiên, nếu có thêm thời gian thì vẫn có thể làm được.

"Thật sự mà nói, một đề bài mà ngay cả anh cũng thấy bó tay như thế này, xuất hiện trong một cuộc thi dành cho sinh viên có phần không thỏa đáng lắm phải không?" Viện sĩ Chiêm Vĩnh Húc liếc nhìn Giáo sư Trương Tồn Hạo rồi nói.

Giáo sư Trương Tồn Hạo ngượng nghịu cười rồi nói: "Các kỳ thi trước đây, việc có một đề bẫy chết người trong bốn đề không phải là thông lệ sao? Đây cũng là cách khảo sát khả năng tự đánh giá khách quan của thí sinh. Tôi tin rằng chỉ cần động não một chút là có thể nhận ra, việc tối ưu hóa một phần mềm đã được ứng dụng thương mại rộng rãi và phát triển hoàn thiện như vậy là gần như không có cơ hội nào."

Viện sĩ Chiêm Vĩnh Húc cười ha ha, không nói gì.

Ông ấy đại khái có thể đoán ra phần nào lý do sử dụng đề bài này làm câu bẫy.

Một là như Giáo sư Trương Tồn Hạo đã nói, việc đặt một đề bẫy chết người trong bốn đề là thông lệ của các cuộc thi ở Thung lũng Hi Vọng. Còn thứ hai, e rằng cũng liên quan đến khoản phí tài trợ không nhỏ mà Tập đoàn Long Uy đã cung cấp.

Dù sao, một sự kiện mang tầm quốc gia như Thung lũng Hi Vọng, được vô số sinh viên và chuyên gia chú ý, mà cuối cùng một đề lớn không ai giải được, bản thân điều đó đã là một chủ đề thú vị.

Sử dụng câu chuyện này để quảng bá còn mang tính chủ đề hơn bất kỳ quảng cáo cứng nhắc nào khác.

Nghĩ đến toàn bộ hệ thống chấm thi của cuộc thi này đều do Tập đoàn Long Uy miễn phí tài trợ cho ban tổ chức, viện sĩ Chiêm Vĩnh Húc cũng không nói gì, chỉ là không còn kỳ vọng nhiều vào thí sinh trên màn hình nữa.

Dù sao, ngay cả bản thân ông ấy cũng chưa chắc có thể nâng cao 10% hiệu suất của engine Băng Xuyên 3.0 trong ba ngày. Nhìn từ một góc độ khác, nếu có một phương pháp dễ dàng như vậy thì đội ngũ phát triển engine Băng Xuyên cùng các kỹ sư phần mềm chuyên trách tối ưu hóa engine chắc chắn đã nghĩ ra từ lâu rồi.

Lựa chọn đề tài nghiên cứu sở trường của mình, tránh những đề mục rõ ràng chỉ lãng phí thời gian và sức lực, đó cũng là một phẩm chất cần thiết của một lập trình viên.

Nếu không làm được điều này...

Trong cuộc thi này, thí sinh số 101 đã hết cơ hội!

Hác Vân không hề biết, chỉ trong một lát cậu ta đọc đề, mấy vị chuyên gia lão làng trong ngành đang ở phòng chờ phía sau sân khấu đã đoán trước được kết cục của cậu ta rồi.

Thực sự đã đến nước này sao?

Ngay từ đầu, Hác Vân từng nghĩ một cách bi quan như vậy.

Dù sao, khi cậu ta đọc lướt qua toàn bộ mã nguồn của engine Băng Xuyên, chỉ để hiểu nó thôi cũng đã tốn không ít công sức.

"Trước tiên phải bình tĩnh..."

"Sau đó, phải làm rõ logic vận hành của engine này."

Việc cho ra đồ họa nhanh hơn, chất lượng cao hơn là một tiêu chuẩn đánh giá quan trọng của một engine tốt. Chắc hẳn các lập trình viên của engine Băng Xuyên đã vắt óc tối ưu hóa mã nguồn của nó.

Việc nghĩ cách tiến thêm một bước dựa trên nỗ lực của những người đi trước không phải là hoàn toàn không thể, nhưng để một người có thể đạt được điều đó trong vỏn vẹn ba ngày thì e rằng ngay cả hệ thống tự động cũng phải bó tay.

Nói như vậy...

Việc tối ưu hóa mã nguồn của chính engine là khó có thể thực hiện được.

Hy vọng duy nhất của cậu ta, e rằng chỉ nằm ở những phần bên ngoài mã nguồn chính của engine.

Chẳng hạn như, các hàm cấp thấp thường xuyên được gọi?

Bất kể là engine 3D hay 2D, dù là "Băng Xuyên" đang thịnh hành trong nước hay "Hoang Nguyên" tương đối phổ biến ở nước ngoài, tất cả các engine game cuối cùng đều phải gọi các hàm cấp thấp một cách thường xuyên, và càng ở cấp thấp thì hàm càng được gọi nhiều.

Đặc biệt là khía cạnh render đồ họa!

Đôi khi người chơi gặp cảnh tượng lớn bị giật lag, thậm chí nhân vật lơ lửng trên không, hoặc xuyên tường, phần lớn nguyên nhân là do tốc độ tính toán đồ họa không đáp ứng kịp.

Nếu có thể tối ưu hóa các hàm cấp thấp...

Biết đâu mình thực sự có hy vọng giải quyết được đề này?

Trong khoảnh khắc, Hác Vân bị ý nghĩ điên rồ của mình khiến cho giật mình.

Ôi trời?

Cậu ta cẩn thận ngẫm nghĩ kỹ trong lòng, điều đặc biệt này dường như còn khó hơn cả việc tối ưu hóa engine Băng Xuyên!

Dù sao, engine Băng Xuyên ít nhiều vẫn là sản phẩm của kỷ nguyên mới, nhưng các hàm cấp thấp mà engine Băng Xuyên gọi lại đã được phát triển từ trước thời đại internet.

Nhưng...

Nhỡ đâu lại làm được thì sao?

Nuốt nước miếng một cái, Hác Vân ôm ý nghĩ thử một lần, tìm đến thư mục mã nguồn của engine Băng Xuyên, tìm thấy tệp Q_math.c, mở ra xem các hàm số được gọi thường xuyên bên trong.

Việc đọc từ đầu đến cuối tất cả mã nguồn hiển nhiên là không khả thi, nhưng Hác Vân cũng không có ý định làm việc ngu xuẩn như vậy.

Cậu ta chỉ cần tìm ra hàm số được gọi nhiều nhất khi engine hoạt động, gần như luôn được gọi mỗi khi tải một cảnh game, và đủ khả năng ảnh hưởng đến hiệu suất vận hành của engine, sau đó tìm cơ hội cải tiến nó là được.

Rất nhanh, Hác Vân khoanh vùng một hàm số có tên là Q_SqrT.

Hàm số này thoạt nhìn hoàn toàn bình thường, chỉ là một phép tính nghịch đảo căn bậc hai sử dụng phương pháp lặp Newton.

Thế nhưng, điều đáng nói là trong quá trình vận hành của engine này, nhu cầu tính toán nghịch đảo căn bậc hai lại nhiều đến mức đáng kinh ngạc.

Vì vậy, nhìn từ một góc độ khác, tốc độ tính toán của hàm số này đã đủ để ảnh hưởng đến hiệu suất của chính engine.

Điều này cũng giống như một con ốc vít trong một tên lửa vũ trụ. Thoạt nhìn, tốc độ tên lửa không phụ thuộc vào con ốc đó, mà vào thiết kế động cơ, nhiên liệu chủ chốt, v.v. Nhưng khi thiết kế động cơ và kỹ thuật nhiên liệu đều đạt đến giới hạn, muốn nâng cao hơn nữa hiệu suất của tên lửa, người ta chỉ có thể bắt đầu nghiên cứu từ những vật liệu cơ bản nhất.

Những gì Hác Vân đang làm lúc này chính là những điều tương tự.

Thế nhưng...

Mặc dù ý tưởng đã được tìm thấy, nhưng việc theo con đường này lại không hề dễ dàng.

Đến đây thì dường như không có bất kỳ chỗ nào đáng để đào sâu, dù sao phương pháp lặp Newton bản thân đã là một phương pháp toán học rất ưu việt để tính toán nghịch đảo căn bậc hai.

Còn muốn sáng tạo ư?

Cải tiến về phương pháp toán học là khó có khả năng!

Nếu muốn tăng tốc độ này, e rằng chỉ có cách xây dựng một kho dữ liệu khổng lồ cho các giá trị đầu vào và đầu ra mới có thể thực hiện được.

Nhưng mà, chỉ là xây dựng một kho dữ liệu cho một hàm số lại có vẻ như làm việc ngược đời.

Thời gian từng giây từng phút trôi qua, trên máy tính của Hác Vân, vẫn chưa có một dòng mã nào được gõ xuống.

Ở phía sau sân khấu, viện sĩ Chiêm Vĩnh Húc khẽ thở dài, trong mắt hiện lên một nét thất vọng.

Rất rõ ràng, thí sinh số 101 này đã mắc kẹt vào một vấn đề nhỏ nhặt. Nếu không thể lập tức thay đổi sách lược, chuyển sang một đề khác, tiến độ của cậu ta sẽ bị các thí sinh khác bỏ xa!

Ít nhất theo những gì họ thấy, đã có ba thí sinh chủ chốt hoàn thành 1/4 tiến độ của ba đề còn lại rồi.

"Mặc dù dũng khí đáng khen, nhưng cứ tiếp tục thế này thì sẽ không có kết quả," Giáo sư Trương Tồn Hạo cười nói, "Tôi vừa quan sát một lượt, dường như chỉ có cậu ta vẫn đang miệt mài với đề số bốn."

"Đề mục như thế này xuất hiện trong cuộc thi cũng rất có vấn đề," viện sĩ Chiêm Vĩnh Húc lắc đầu, "Lần sau cuộc thi không thể để tình trạng này tiếp diễn."

Giáo sư Trương Tồn Hạo ngượng nghịu cười một tiếng, ho hắng một tiếng, "Lần sau nhất định."

Nhưng ngay lúc cả hai đều cho rằng thí sinh số 101 đã hết hy vọng, Hác Vân đang ngồi trước bàn máy tính bỗng nhiên động đậy.

Chỉ có điều, thao tác của cậu ta có vẻ hơi kỳ lạ?

Cậu ta không vội viết mã gì cả, mà trực tiếp xóa bỏ đoạn mã liên quan đến hàm Q_SqrT trong tệp Q_math.c.

"Cậu ta định làm gì?"

Nhìn thao tác của Hác Vân trên màn hình, Trương Tồn Hạo bị hành động khó hiểu của thí sinh này làm cho kinh ngạc.

Anh ta đại khái có thể đoán được thí sinh này định làm gì, chẳng phải là muốn định nghĩa lại phương pháp tính "nghịch đảo căn bậc hai" sao? Nhưng trên thế giới này có thể tồn tại một phương pháp tính đơn giản hơn cả phương pháp lặp Newton ư?

Hơn nữa, đây không phải là phạm vi lập trình, mà là lĩnh vực toán học chứ?

Viện trưởng Chiêm Vĩnh Húc cũng bị kinh ngạc, tạm thời chưa hiểu Hác Vân định làm gì. Cho đến khi ông nhìn thấy một dòng mã `(i=0x 5f 375a 86-(i » 1 ) )` xuất hiện trên màn hình, ông mới hơi co rụt đồng tử lại.

"Tôi biết cậu ta định làm gì rồi."

"Dạ?"

Trương Tồn Hạo mặt ngơ ngác, nhìn về phía thầy mình, mong tìm được câu trả lời.

Nhưng viện sĩ Chiêm Vĩnh Húc lại hoàn toàn không có ý định giải đáp thắc mắc của anh ta, chỉ lo tự mình xoa cằm, vuốt râu, nhìn đoạn mã trên màn hình mà tán thưởng gật đầu.

"Hay quá..."

"Thật sự rất hay!"

Phiên bản chuyển ngữ này thuộc sở hữu của truyen.free, đề nghị không sao chép trái phép.

Trước Sau
Nghe truyện
Nữ
Nam

Cài đặt đọc truyện

Màu nền:
Cỡ chữ:
Giãn dòng:
Font chữ:
Ẩn header khi đọc
Vuốt chuyển chương

Danh sách chương

Truyen.Free