The OpenNET Project / Index page

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



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

Оглавление

Новая версия BitTorrent-клиента Transmission 4.0.0, перешедшего с Си на Си++, opennews (??), 08-Фев-23, (0) [смотреть все]

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


90. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +2 +/
Сообщение от Анонн (?), 08-Фев-23, 12:19 
Да ладно, в gcc для си есть тоже куча оптимизаций.
Не могло оно одними оптимизациями дать такой прирост. Они скорее всего что-то архитектурное меняли.
Ответить | Правка | Наверх | Cообщить модератору

113. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Серб (ok), 08-Фев-23, 13:55 
Имитация объектной иерархии на Си приводит к множеству ненужных действий в рантайм.
В плюсах те же действия происходят во время компиляции.
Ответить | Правка | Наверх | Cообщить модератору

116. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (120), 08-Фев-23, 13:57 
Придумывание иерархий там где их нет приводит к ООП и убогому коду.
Ответить | Правка | Наверх | Cообщить модератору

122. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Серб (ok), 08-Фев-23, 14:08 
> Придумывание иерархий там где их нет приводит к ООП и убогому коду.

Хотелось бы примера, как реализовать контейнер графических элементов, что бы пробежаться по нему и вызвать функции зависящие от типа графического элемента.

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

141. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (63), 08-Фев-23, 15:21 
Ща, он тебе про GLib расскажет... Хотя, стоп. Там же, хоть и псевдо-, но опять же, объектность Gobject.
Ответить | Правка | Наверх | Cообщить модератору

181. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (120), 08-Фев-23, 20:58 
Читай внимательно - я написал, там где их нет. Гуи единственное место где иерархия естественна.
Ответить | Правка | К родителю #122 | Наверх | Cообщить модератору

198. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +1 +/
Сообщение от Самый умный из вас (?), 09-Фев-23, 00:38 
> Гуи единственное место где иерархия естественна

Но это не точно

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

205. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (-), 09-Фев-23, 05:34 
Для этого не нужны иерархии. Достаточно передать в контейнер по два указателя на каждый элемент контейнера -- указатель на структуру данных описывающую элемент, и указатель на vtable реализующий необходимые контейнеру методы. В простейшем случае вместо vtable может быть указатель на функцию, но, наверное, не в случае контейнера графических элементов, там потребуется больше одного метода.
Ответить | Правка | К родителю #122 | Наверх | Cообщить модератору

235. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Серб (ok), 09-Фев-23, 13:20 
> Для этого не нужны иерархии. Достаточно передать в контейнер по два указателя
> на каждый элемент контейнера -- указатель на структуру данных описывающую элемент,
> и указатель на vtable реализующий необходимые контейнеру методы. В простейшем случае
> вместо vtable может быть указатель на функцию, но, наверное, не в
> случае контейнера графических элементов, там потребуется больше одного метода.

И будет множество таблиц vtable. Не критично, пока типов графических элементов мало.

Но как только типов и контейнеров становится много, ты автоматически реализуешь вручную иерархию типов.

Вот только тут будут накладные расходы в рантайм и много рутинной работы.

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

157. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 08-Фев-23, 17:18 
Куча структур с inner полями в расте это, конечно, другое?
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

114. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (35), 08-Фев-23, 13:56 
Да, transmission была слишком медленная, из-за архитектуры наверное, может просто переписали как положено сейчас.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

118. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  –1 +/
Сообщение от Аноним (118), 08-Фев-23, 13:58 
Или предыдущие версии создавали "вундеркинды". Потому что в моем понимании C++ и JavaScript - это никакая не "оптимизация".
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

253. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (120), 09-Фев-23, 18:59 
В твоём понимании? А ты кто?
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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