zryty_beret
g/Mozilla

Firefox jest uparty jak diabli (od lat), nie rozumiem dlaczego po zainstalowaniu nightly nie mogę jednocześnie uruchomić wersji stable i nightly, a wersja nightly nagle okazuje się współdzielić zasoby (rzuciła mi się w oczy wspólna historia wpisywanych adresów, reszty nie chciało mi się sprawdzać nawet) ze stable. Srsly?

#
duxet

@zryty_beret: z Chrome niestety jest to samo, a nawet jeszcze gorzej bo chyba w ogóle nie można mieć dwóch wersji zainstalowanych jednocześnie - chyba, że jest na to jakieś rozwiązanie :| FF można przynajmniej odpalić z dodatkowym parametrem określającym profil, który ma być używany.

#
akerro

nie mogę jednocześnie uruchomić wersji stable i nightly

@zryty_beret: bo program jest typu singleton co oznacza, że włączając się pozostawia po sobie na dysku plik tekstowy .lock, w którym jest ID procesu, jeśli ten plik istnieje to firefox zamiast uruchamiać nową instancję podłącza się pod istniejący uruchomiony program, musi tak być bo przeglądarki używają baz danych jak sqlite3. bazy danych działają tak, że tylko jedna aplikacja może w danej chwili trzymać otwarty plik bazy danych (nawet jak w danej chwili nie zapisuje i nie wczytuje nic z tej bazy, to tylko jeden program może używać tej bazy danych). można to w firefoxie "obejść" tworząc profile, każdy profil ma swoją oddzielną bazę danych, osobne zakładki, osobną historię przeglądania itp. wszystkie te dane są w bazie danych.
http://kb.mozillazine.org/Opening_a_new_instance_of_Firefox_with_another_profile

#
duxet

@akerro: "SQLite allows multiple processes to have the database file open at once, and for multiple processes to read the database at once. When any process wants to write, it must lock the entire database file for the duration of its update. But that normally only takes a few milliseconds. Other processes just wait on the writer to finish then continue about their business."

#
akerro

@duxet: Przeglądarki nie zakańczają transakcji za każdą operacją tylko przy ważniejszych operacjach.

OPEN_TRANS (baza zablokowana)
INSERT ...
INSERT ...
INSERT OR UPDATE ...
INSERT ...
END_TRANS (dane zapisane na dysk, baza odblokowana)

nie zakończone transakcje lądują w pamięci, dzięki czemu zmniejsza się zużycie dysku oraz, potrzeba mniej wątków do obsługi bazy danych = mniejsze zapotrzebowanie na RAM, szybsze działanie przeglądarki (to operacje I/O są najwolniejsze).

#
duxet

@akerro: no a napisałeś, że bazy danych jak sqlite3 nie pozwalają na współdzielenie jednej bazy danych nawet przy samym odczycie :p

#
akerro

@duxet: nie chciało mi się zagłębiać w transakcje i commity SQL :<

#
duxet

@akerro: No teoretycznie można by używać tej bazy w kilku instacjach przeglądarki, tylko w praktyce działałoby to... trochę kiepsko :P

Swoją drogą to szkoda, że w Firefoksie nie ma w interfejsie zarządzania profilami tak jak np. w Chrome.

#
akerro

@duxet: https://i.imgur.com/MhfP2Jf.png ?

#
shish

@duxet: Możesz. Na linuchu możesz mieć chrome i chromium. Jeden problem. Korzystają z podobnych(tych samych) plików i niestety loguje tego samego usera na obu przeglądarkach.
Gorzej z windą, bo na niej chromium wynajdują jako wirusa

#
duxet

@akerro: jak w ogóle się można do tego dostać? :o

#
akerro

@duxet: firefox -P

#