Re: [邊緣] 原來substring
※ 引述《KusanagiYuma (草薙由麻)》之銘言:
: → lopp54321010: https://github.com/Cysharp/ZString 09/10 16:30
: 字串原來有這麼多玩具可以玩是不是XD
這個其實就Cygames負責研究.Net技術的子公司Cysharp自己出的StringBuilder
他們的CEO很喜歡用Struct重做一些微軟本來就有提供的Class
因為Struct會直接用Stack的空間不會產生Garbage Collection
而依照我自己的感覺,C#的八成效能瓶頸都來自GC
以你的情況來說就是SubString每次執行的時候都會去Allocate一塊新的記憶體區塊
然後把你擷取出來的一段char陣列複製進那塊區塊內
https://i.imgur.com/CE52Jjd.png

每多要一塊區塊,GC就越會搞==
不過ZString算是為了跟Unity的某些東西配合的
內建的StringBuilder應該就夠一般使用了ㄅ
---
C#要追求效能的話,理論上是通通掛unsafe用指標操作當C++在寫ㄅ
曾經看過一個中國的遊戲程序猿真的這樣寫,蠻牛逼der
很想問他為什麼不乾脆用C++就好
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.184.180 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1631264571.A.293.html
推
09/10 17:06,
4年前
, 1F
09/10 17:06, 1F
討論串 (同標題文章)