我想知道Java的字符串編碼轉換算法有多昂貴,比如說,一段文本是在EBCDIC中需要轉換爲UTF-16,或者用於類似的大文件轉換。這個轉換的成本是否有任何基準?多種編碼的基準會更好。java的字符串編碼轉換有多昂貴?
3
A
回答
3
這是一個O(n)算法。執行所花費的時間會隨着要轉換的字符串的長度或多或少呈線性增加(儘管如果要轉換數百萬個非常短的字符串,函數調用的開銷將增加)。
在幾乎所有情況下,這不會是一個瓶頸。你可能可以在很小的時間內編碼數十兆字節的非常大的字符串。儘管我沒有實際的基準數據。
1
我懷疑它是微不足道的。如果要轉換數千個字符串或分配巨大的字節數組(如果要轉換非常大的字符串),我會更擔心分配新String對象的成本。但即使如此,只有在極端的情況下。
0
這是一個可以忽略不計的開銷 - Java的字符串算法總體來說非常好,多年來一直在優化。
這並不是說不可能創建一個更高效的專用算法,或者可能與一個優化的本地代碼庫進行接口,以獲得幾個額外的性能。但除非你有很多服務器,編碼佔用了CPU時間的很大一部分,否則不太值得。
相關問題
- 1. 在斯卡拉轉換字符串到字符串轉換有多昂貴?
- 2. Java(Solr)線程轉儲有多昂貴?
- 3. Java鎖定有多昂貴?
- 4. Thread.getStackTrace()有多昂貴?
- 5. CreateThread()有多昂貴?
- 6. UITableView的reloadData有多昂貴?
- 7. AWS RDS「轉出」成本有多昂貴?
- 8. JAVA字符串編碼轉換問題
- 9. 線程有多昂貴?
- 10. MySQL事件有多昂貴?
- 11. OWLOntologyManager.addAxioms()操作有多昂貴?
- 12. 靜態ArrayList有多昂貴?
- 13. SQL ORDER BY有多昂貴?
- 14. OpenGL操作有多昂貴?
- 15. GUID轉換和比較字符串比較有多貴?
- 16. .NET字符串編碼 - 字符轉換
- 17. 爲什麼類型轉換昂貴?
- 18. 在java中維護一個TCP套接字有多昂貴
- 19. Java - 從字符集編碼轉換爲字節字符串的新字符串
- 20. 對java.util.HashMap.keySet()的調用有多昂貴?
- 21. XML的XSD驗證有多昂貴?
- 22. 多麼昂貴的這個PHP向下轉換解決方法
- 23. 昂貴的StaticResource
- 24. 類型推斷有多昂貴?
- 25. 矩陣乘法有多昂貴?
- 26. Executors.newFixedThreadPool() - 這個操作有多昂貴
- 27. 即時壓縮有多昂貴?
- 28. 調用Web服務有多昂貴?
- 29. 調試條件語句有多昂貴?
- 30. 提交hibernate事務有多昂貴?