LINUX.ORG.RU
ФорумTalks

Хромокапец

 , , ,


0

3

Ночная сборка Сборка квантум фырфокса почти догнала, а кое-где обогнала хром https://youtu.be/YIywpvHewc0 Кушает на 30% меньше памяти. А вот вам нарезка с реддита, радости у всех полные штаны:

- кресты версус ржавый https://www.reddit.com/r/programming/comments/72l81d/start_your_engines_firef...

- и это только начало https://www.reddit.com/r/programming/comments/72l81d/start_your_engines_firef...

- webgl не летает как и в хромом https://www.reddit.com/r/programming/comments/72l81d/start_your_engines_firef...

★★★★★

Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от pftBest

Ну это спорное заявление. В C++ мне тоже придётся проверять содержимое optional/variant.

Также C++ содержит опциональный bound checking, типа vector::at.

То есть нормальный код на C++ будет иметь те же проверки, что и Rust.

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

Это понятно, но я про другое говорил.

То, о чём ты говоришь, называется constant propagation. Эта оптимизация работает не только в Rust, но и в С/С++, в любом современном оптимизирующем компиляторе. Если же говорить про null aka None, то его поведение будет абсолютно таким же как в C/C++. Единственная разница в том, что в Rust, значение обёрнуто в безопасную обёртку, и без матчинга ты его не достанешь, то есть не обойдёшь ту самую проверку в рантайме.

numas13
()
Ответ на: комментарий от RazrFalcon

Да, это все понятно, в нормальном коде такое встретишь редко, но в плюсах такая возможность есть, следовательно технически, они быстрее раста. А насколько это полезно на практике, спорный вопрос.

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

большинство остальных полезных экстеншенов тоже перепишут со временем

Видишь ли, какое дело... Расширения мне нужны сейчас, а не со временем.

Quantum только начало

Начало конца было положено, когда они начали клепать новые версии ради цифр по принципу «а чо, мы хуже хрома штоле?». А это если и начало - то начало забивания последних гвоздей в крышку гроба.

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

С другой стороны в Rust можно использовать ссылки и Box без счетчика ссылок. Что делает их быстрее.

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

Thunderbird когда переведут на Rust?

Учитывая, что на него мудозила официально забила МПХ - 30 февраля.

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

Если ты знаком с растом, то наверное слышал про lazy_static!. Например я написал такую программу, которая обязательно инициализирует этот статик первой строчкой в main, а дальше в некоторых вызовах в глубине программы он используется. Как ты предлагаешь заставить constant propagation убрать лоад и сравнение с нулем на каждом обращении к этому статику?

На самом деле с практической точки зрения это полезно, если кто-то неакуратно полезет в код и случайно уберет инициализацию в main, то программа не упадет. Но с точки зрения производительности, исполнять лишний код на каждом обращении к статикам не хорошо.

P.S. Когда в язык добавили поддержку union, то появилась возможность сделать untagged option, который частично решает эту проблему. Его придумали для экономии ресурсов на микроконтроллерах.

pftBest ★★★★
()
Последнее исправление: pftBest (всего исправлений: 1)
Ответ на: комментарий от pftBest

Если ты знаком с растом, то наверное слышал про lazy_static!. Например я написал такую программу, которая обязательно инициализирует этот статик первой строчкой в main, а дальше в некоторых вызовах в глубине программы он используется. Как ты предлагаешь заставить constant propagation убрать лоад и сравнение с нулем на каждом обращении к этому статику?

На самом деле с практической точки зрения это полезно, если кто-то неакуратно полезет в код и случайно уберет инициализацию в main, то программа не упадет. Но с точки зрения производительности, исполнять лишний код на каждом обращении к статикам не хорошо.

Никак. lazy_static! делает всю работу в рантайме. Доступ к значению осуществляется с проверкой инициализации через атомик, а потом ещё и извлечение из Option, но это в nightly (в stable всё ещё хуже, значения вообще хранятся в куче).

P.S. Когда в язык добавили поддержку union, то появилась возможность сделать untagged option, который частично решает эту проблему. Его придумали для экономии ресурсов на микроконтроллерах.

Это никак не поможет, т.к. тебе надо безопасно проверить статус инициализации в райнтайме.

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

Никак.

Может быть ты неправильно понял посыл моего сообщения, но именно это я и хотел сказать. C++ позволяет делать меньше проверок безопасности чем раст, следовательно «технически» C++ быстрее.

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

Может быть ты неправильно понял посыл моего сообщения, но именно это я и хотел сказать. C++ позволяет делать меньше проверок безопасности чем раст, следовательно «технически» C++ быстрее.

Должен признать, что говорим мы об одном и том же, бесплатный сыр бывает только в мышеловке.

В С++ программист сам решает когда надеть оковы, а в Rust когда их снять. Надеюсь такая аналогия никого не обидит.

numas13
()
Ответ на: комментарий от WereFox

Расширения мне нужны сейчас

Значит придётся посидеть на ESR или обойтись без расширений, потому что у хромоподелий с кастомизируемостью все еще хуже. Доля пользователей Firefox медленно, но верно падает, и чтобы их удержать одних расширений недостаточно.
Собственно 57 лиса еще не релизнулась, а многие расширения на ней уже работают. Возможно, к релизу нужные тебе расширения уже будут переведены на новый API.

Начало конца было положено, когда они начали клепать новые версии ради цифр по принципу «а чо, мы хуже хрома штоле?»

Какой смысл обсуждать изменения которые не затрагивают UX?
Серьезно, каким образом появление конкурентных преимущество уже сейчас (2x увеличение производительности, -30% потребление памяти) и в перспективе (упрощение разработки благодаря rust) забивает гвозди в гроб Firefox?

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

2x увеличение производительности

уже сейчас

Разве что в влажных мечтах фанатиков. Какого-либо существенного прироста я не заметил.

-30% потребление памяти

valkeru@valkeru-desktop:~ $ free -h
              всего        занято        свободно      общая  буф./врем.   доступно
Память:         15G        2,5G        8,3G         60M        4,9G         12G
Подкачка:        1,4G          0B        1,4G

На ноуте 8 гигов. Лично мне нет дела до того, кто сколько сожрал, у меня не Windows XP с 512 мегабайтами памяти.

Доля пользователей Firefox медленно, но верно падает, и чтобы их удержать одних расширений недостаточно

Ну как сказать. Меня на лисе держат только расширения. Если они всё сломают - нахера она мне нужна?

WereFox ★☆
()
Последнее исправление: WereFox (всего исправлений: 1)
Ответ на: комментарий от WereFox

Ну по крайней мере у меня из 5 нужных расширений отвалилось только 1. Так что сломают явно не всё.

userd
()

Без дополнений просто ненужно, будут сидеть на ESR до прояснения ситуации.

FiXer ★★☆☆☆
()

Нормально, скоро догонят Оперу с её 1% пользователей.

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

violentmonkey

Ниразу не замена, я все таки не просто пользуюсь как пользователь но и пишу код. Гризманки держит скрипты в специальной папке откуда их удобно редактировать своим любимым редактором кода и тут же видеть изменения просто обновив страницу.

https://add0n.com/stylus.html

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

Самому что ли сесть написать такой движок сразу и с юзерскриптами и с юзерстилями (типа как юзерскрипт только стиль.user.css и с аналогичным заголовком). Только не уверен есть ли в вебекстеншенах доступ к фс чтоб файлы то записывать, с другой стороны как то же виолентманки свои .db файлы записывает как то и даже в отдельную папку вроде.

зонд

А как блокировку обходить?

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

редактировать своим любимым редактором кода

https://violentmonkey.github.io/2017/03/14/How-to-edit-scripts-with-your-favo...

хотя хотелось все таки файлы на фс

про stylus такого не нашёл, но похоже, что это возможно

А как блокировку обходить?

как угодно, но без зондов

proxy auto-config, TOR

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

Так TOR же наверняка можно настроить на работу исключительно с онион-сайтами, а всё остальное пускать напрямую через VPN. Единственное что я пока не осилил - это как заставить некоторые приложения использовать eth0 заместо tun0.

Deleted
()
Ответ на: комментарий от f1u77y

How-to-edit-scripts-with-your-favo...

Не работает оно

как угодно, но без зондов proxy auto-config, TOR

то есть трахаться как на ведройде, нет спасибо.

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

Скорее всего плохо, т.к. на жабаскрипте никто не умеет делать нормальные веб-приложения. Фреймворков под это нет нормальных.

Я не слежу за темой релиза бетки.

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

трахаться как на ведройде

лучше чем вставлять себе зонд

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

Ты на глаз что ли прикинул?

А что, мне не надо смотреть на то, как оно на самом деле работает? Предлагаешь как в старом анекдоте, «лучше газеты читайте»?

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

С хромом вестимо.

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