#siamstr
VΔz
vaz@siamstr.com
npub1vaz8...5t60
Vin Jakkaphat
Linux User👾
FOSS Dev👨💻 🍻
Permaculture🌳🌞🐂🐓
Full-time System Engineer
Life-time Farmer
เป็นเกษตรกรที่เขียนโค้ดได้นิดหน่อย
Discord SiamDev: https://discord.gg/x9PHDE249n
blog : https://blog.siamstr.com
เช่า Server 👉 https://bangmod.cloud
ใจหายเลยเมื่อได้ข่าวว่า คน ๆ นึงที่โตมาด้วยกันตั้งแต่เด็กเสียไปกระทันหันตอนนี้
Life is short..
ฟังอยู่ครับ แต่กดอะไรไม่ได้ 55555555555
#siamstr 
#siamstr 
`serde-derive` มีปัญหาด้านประสิทธิภาพเนื่องจากเหตุผลหลายประการ:
1. **โค้ดที่ซับซ้อนและซ้อนลึก**: `serde-derive` สร้างโค้ดที่มีการเรียกใช้ฟังก์ชัน `deserialize` ซ้อนกันหลายชั้น ซึ่งทำให้เกิดการคัดลอกข้อมูล (memcpy) บ่อยครั้ง[1](
2. **การจัดการหน่วยความจำ**: Rust และ LLVM ไม่เก่งในการทำ Return Value Optimization (RVO) ซึ่งทำให้การคัดลอกผลลัพธ์ของ `deserialize` กลับไปยังที่หมายปลายทางเกิดขึ้นบ่อยครั้ง[1](
3. **การสร้างผลลัพธ์หลายครั้ง**: ในกรณีที่มีการ deserialize ข้อมูลประเภทเดียวกันหลายครั้ง มันจะสร้าง `Result<T, _>` แยกกันหลายครั้ง ซึ่งอาจทำให้เกิดปัญหาการใช้หน่วยความจำมากเกินไปและทำให้ stack overflow[1](
4. **ไม่สามารถทำงานขนานกันได้**: `serde-derive` มีการพึ่งพา chain ที่ไม่สามารถทำงานพร้อมกันได้ (sequential dependencies) ซึ่งหมายความว่าโค้ดที่สร้างขึ้นโดย serde-derive ต้องทำงานตามลำดับ ไม่สามารถทำงานหลายๆ อย่างพร้อมกันได้ (parallel execution) ทำให้เวลาในการคอมไพล์เพิ่มขึ้นและประสิทธิภาพลดลงในบางกรณี
ตัวอย่างเช่น ถ้าคุณมีหลายฟิลด์ที่ต้อง deserialize โค้ดที่สร้างขึ้นจะต้องทำการ deserialize ฟิลด์เหล่านั้นทีละฟิลด์ ไม่สามารถทำพร้อมกันได้ ซึ่งทำให้เกิดการหน่วงเวลาและใช้ทรัพยากรมากขึ้น
ดังนั้น `serde-derive` อาจไม่เหมาะสำหรับโค้ดที่ต้องการประสิทธิภาพสูง.
[1](
[GitHub Issue #2584](
[2](
[GitHub Issue #2831](
#siamstr #siamdev #rust
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
GitHub
serde-rs/serde
Serialization framework for Rust. Contribute to serde-rs/serde development by creating an account on GitHub.
555555555555555555555555555555555555555
hardware wallet ลดราคาหล่ะ :D
#siamstr
#siamstrแปลเป็นภาษาคนว่า กูรู้นะว่ามึงทำอะไรอยู่ 😏
#siamstr
#siamstrAppอ่องออ🧠 #siamstr #foodstr


stay humhod 🥰
เชียงรายโคตรหนาว อากาศเย็นมาก 🥶
#siamstr
#siamstrนั่งทำเป็นปีเลย 👀
#siamstr
CBDC มีมาเกือบ 20 ปีแล้ว?? #siamstr 👀
🤥😵💫
#siamstr #llama
#siamstr #llamaผลปิศาจ
#siamstr
#siamstrเจียงฮายมอกเย็น ๆ 🥶
#siamstr
#siamstr
