ความท้าทายด้านประสิทธิภาพ C ++: จำนวนเต็มเป็น std :: การแปลงสตริง
ใครสามารถเอาชนะประสิทธิภาพของจำนวนเต็มของฉันเป็น std :: string code ที่ลิงก์ด้านล่างนี้ได้ไหม มีคำถามหลายข้อที่อธิบายวิธีการแปลงจำนวนเต็มเป็นstd::stringC ++ เช่นคำถามนี้แต่ไม่มีวิธีใดที่มีประสิทธิภาพ นี่คือโค้ดที่พร้อมสำหรับการคอมไพล์สำหรับวิธีการทั่วไปในการแข่งขันกับ: "วิธี C ++" โดยใช้ stringstream: http://ideone.com/jh3Sa sprintf ซึ่ง SO-ers มักจะแนะนำให้คำนึงถึงประสิทธิภาพ: http://ideone.com/82kwR ขัดกับความเชื่อที่นิยม , boost::lexical_castมีการดำเนินการของตัวเอง ( กระดาษสีขาว ) และไม่ได้ใช้stringstreamและผู้ประกอบการแทรกตัวเลข ฉันจริงๆต้องการเพื่อดูประสิทธิภาพของมันเมื่อเทียบเพราะคำถามอื่น ๆ นี้แสดงให้เห็นว่ามันเป็นความสุข และการมีส่วนร่วมของฉันเองซึ่งสามารถแข่งขันได้บนคอมพิวเตอร์เดสก์ท็อปและแสดงให้เห็นถึงแนวทางที่ทำงานด้วยความเร็วสูงสุดบนระบบฝังตัวเช่นกันซึ่งแตกต่างจากอัลกอริทึมที่ขึ้นอยู่กับโมดูโลจำนวนเต็ม: อัลกอริทึมของ Ben: http://ideone.com/SsEUW หากคุณต้องการใช้รหัสนั้นฉันจะทำให้พร้อมใช้งานภายใต้ใบอนุญาต BSD แบบง่าย (อนุญาตให้ใช้ในเชิงพาณิชย์ต้องแสดงที่มา) แค่ถาม. สุดท้ายฟังก์ชั่นltoaไม่ได้มาตรฐาน แต่มีให้ใช้งานทั่วไป ltoa version สำหรับใครก็ตามที่มีคอมไพเลอร์ที่ให้มา (ideone ไม่มี): http://ideone.com/T5Wim ฉันจะโพสต์การวัดประสิทธิภาพของฉันเป็นคำตอบในไม่ช้า กฎสำหรับอัลกอริทึม …