LINUX.ORG.RU
ФорумTalks

NFT_ptr расширение std::unique_ptr для полностью безопасного управления памяти в С++ используя блокчейн

 , , , ,


0

4

Управление памятью C ++ сложно, непрозрачно и небезопасно.

  • 70% уязвимостей, устраняемых ежегодно с помощью обновления безопасности, по-прежнему связаны с безопасностью памяти.
  • На C++ написаны крупнейшие в мире кодовые базы. Браузеры, операционные системы, базы данных, финансовые системы.
  • Как мы все знаем, добавление блокчейна к проблеме автоматически делает ее простой, прозрачной и криптографически безопасной.
  • Написано на Rust для хипстеров.
  • NFT - Non-Fungible Token
  • Сделано с ♥️, Экспертом по Блокчейну который написал 100 строк кода в Solidity в 2017 (которые не работали)

Пример

  auto ptr1 = make_nft<Cow>();
  nft_ptr<Animal> ptr2;

  ptr2 = std::move(ptr1);

Этот пример переведет NFT 0x7faa4bc09c90 представляющий память Cow из ptr1 (OpenSea, Etherscan) в ptr2 (OpenSea, Etherscan).

После транзакции ptr1 будет иметь значение null, и ptr2 содержать новый объект.

  Moved: ptr1 = 0x0 ptr2 = 0x7faa4bc09c90
  Moo!

nft_ptr имеет незначительные накладные расходы на производительность по сравнению с std::unique_ptr, как показывает тест из примера :

  • std::unique_ptr 0,005 секунды
  • nft_ptr 3 минуты

Исходный код

Исходный код, тесты, примеры - https://github.com/zhuowei/nft_ptr

Стать спонсором разработки:

Ограниченное предложение доступно только сейчас!

Купите Git-транзакцию как NFT в этот Абсолютно первый Мультимедиа концепт управляемый в реальном времени через обновления частный корпоративный блокчейн (в виде документа в Google docs)



Последнее исправление: pon4ik (всего исправлений: 1)

Как мы все знаем, добавление блокчейна к проблеме автоматически делает ее простой, прозрачной и криптографически безопасной.

Что за бред?

незначительные накладные расходы

std::unique_ptr 0,005 секунды
nft_ptr 3 минуты (в 36000 раз (!) медленнее)

What?

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 2)

std::unique_ptr 0,005 секунды

Да ладно тебе, не на столько unique_ptr медленный

SR_team ★★★★★
()

Сделал мое утро.

Meyer ★★★★★
()
Ответ на: комментарий от X512

Зато безопасно и подходит для хипстеров.

Meyer ★★★★★
()

Слишком толсто. Я за бан

Aswed ★★★★★
()

О боже, ты даже код написал. Я передумал на счет бана. Но у тебя не хватает тестов

Aswed ★★★★★
()
Ответ на: комментарий от Crocodoom

Легче отлаживать. В блокчейне окажется лог всех операций с указателем. Больше не нужно вставлять отладочные печати, достаточно заглянуть в Etherscan.

kmeaw ★★★
()

Таки сверхдоходы от безумных NFT аукционов пошли на вещества.

std::unique_ptr 0,005 микросекунды

Пофиксил ваш бенчмарк.

snizovtsev ★★★★★
()

А что, выглядит по хипстерски!

snake266 ★★
()

Вроде первое апреля уже прошло

annulen ★★★★★
()

Получилось неблохо. Жаль, что запоздали на недельку с небольшим.

LamerOk ★★★★★
()

Программирование для богатых: один раз запустить operator new - 100$ за газ в сеть плати и жди подтверждения транзакции пару часов. Вышел из программы - еще 100$ за деаллокацию. Выдернул сетевой кабель - потом запустить свою прогу не сможешь: memory already allocated exception

q0tw4 ★★★★
()
Ответ на: комментарий от annulen

25GB/Month $0 Чет дешево. Пойду продам поглощаемый NFT-token своего /dev/urandom. Типа бёрнишь токен - получаешь байтики прямо с моего компа.

q0tw4 ★★★★
()

Автор честно старался успеть к 1 апреля, но у него не получилось, всё из-за ожидания расчётов всех уравнений при помощи nft_ptr

dotcoder ★★★★★
()

Управление памятью C ++ сложно, непрозрачно и небезопасно

сложно, непрозрачно, небезопасно, безприбыльно
Это лучшая шутка за сегодня, а может и за месяц.

atrus ★★★★★
()
Ответ на: комментарий от atrus

Там и в issues жгут...

«The C++ ownership model is relatively simple. I would recommend reviewing this brief (21 page) summary (PDF warning).»

atrus ★★★★★
()

Слоупок, сегодня не 1 апреля.

ox55ff ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Пусть нейронки торгуются за память на аукционе.

украл идею, не благодарю

svv20624
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.