The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Сравнение производительности сетевого драйвера в вариантах н..., opennews (?), 12-Сен-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


137. "Сравнение производительности сетевого драйвера в вариантах н..."  +1 +/
Сообщение от Аноним (137), 12-Сен-19, 18:15 
Не понимаю, как свифт может работать со скоростью жс? Он же компилируемый. И эппл его продвигал для приложений и прочего. Получается, что они должны быть +- как на электроне?
Ответить | Правка | Наверх | Cообщить модератору

154. "Сравнение производительности сетевого драйвера в вариантах н..."  +5 +/
Сообщение от Dee (??), 12-Сен-19, 19:13 
Они там в pdf-ке с анализом пишут:

Swift increments a reference counter for each object passed into a function and decreases it when leaving the function. This is done for every single packet as they are wrapped in Swift-native wrappers for bounds checks. There is no good way to disable this behavior for the wrapper objects while maintaining an idiomatic API for applications using the driver. A total of 76% of the CPU time is spent incrementing and decrementing reference counters. This is the only language runtime evaluated here that incurs a large cost even for objects that are never free’d.

76 процентов, Карл!

Тормоз этот ваш свифт.

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

179. "Сравнение производительности сетевого драйвера в вариантах н..."  +/
Сообщение от Dnina (ok), 12-Сен-19, 21:13 
Что-то полная жесть. Точно не помню, но по-моему видел намёки на то, что чуть ли не бэкенд писать на нём можно. Но кому оно надо в таком виде.
Интересно, Objective-C не имеет такого косяка? Если нет, то переход на более медленный язык выглядит так себе. Разве что для смузихлёбов.
Ответить | Правка | Наверх | Cообщить модератору

191. "Сравнение производительности сетевого драйвера в вариантах н..."  +/
Сообщение от Optional (?), 12-Сен-19, 22:25 
в swift есть struct и class, struct - это тип-значение, а class - это ссылочный тип, возможно они классы использовали вместо структур?
и вроде если структуры использовать, должно быть быстрее?
а с другой стороны, может сама реализация ARC нелучшая, с какими-то недостатками?
Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

254. "Сравнение производительности сетевого драйвера в вариантах н..."  +1 +/
Сообщение от Ананд (?), 13-Сен-19, 19:14 
https://github.com/ixy-languages/ixy.swift/tree/master/ixy/S...

Они сделали все как class. Если поменять на struct летать будет.

Class: reference counting + lock for multithreading.
Struct: no reference counting, no safe multithreading(should be immutable)

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

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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