The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз языка программирования Go 1.17"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Релиз языка программирования Go 1.17" +/
Сообщение от Брат Анон (ok), 18-Авг-21, 10:10 
>> Го порвал питон на искусственном тесте в 40 раз (Компонентный Паскаль примерно в 35...38 раз. ФриПаскаль рвал питон в 40-50 раз, Си порвал питон в 60 раз
> А я попробовал попарсить гигабайтный xml файлик с помощью Го и как-то
> подразочаровался. Свой парсер у него говённый, но даде с биндингами к
> либхмл он нещадно тормозит из за постоянного перераспределения памяти под строки.

Наверное, потому что ты как-то не так готовил кошек? Прямо сразу из твоего сообщения я вижу, что как минимум, вместо того, чтобы использовать strings.Builder() ты использовал строки (которые в го -- неизменяемые сущности, поэтому таки да -- использовать строки налево и направо - -в го весьма дорого). Типичное решение в го в таких случаях -- использовать срез рун. А уж как ты там парсил и почему ты не посмотрел решения на github.com с кодогенерацией, которая даёт ускорение под конкретный XML в 5-10 раз -- вот тут мне понятно, что навыки программирования у тебя на уровне джуниора.


Ты использовал биндинги? А ты хоть немного интересовался, какие ограничения накладываются на использование сишных биндингов в Го? По третьей ссылке (на Хабре) ты бы мог узнать, что биндинги в Го -- это не Го-вей, так как прыжки туда-обратно стоят очень дорого. Кроме того, посмотри новость рядом -- неуправляемая память в Си кладёт целые процессы. Таким образом, используя Си в Го -- ты просто убиваешь всю идею Го на корню. Как по инвариантам памяти, так и по быстродействию. Использовать колёса разных размеров и иногда немного квадратные в одном автомобиле -- это не айс. Подучил бы ты сначала го-вей, а потом садился писать высоконагруженные штуки.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования Go 1.17, opennews, 17-Авг-21, 09:02  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру