Don't feel too bad about your tab hoarding, I'm at 3 windows with 4630 tabs and I'm pretty sure I'm closer to a stress test than a user. Chrome can't function with 1/20th of mine and Firefox runs smooth and fast. Restarting with loading all the session data takes seven or eight seconds total. It can't just be the different multi-process models so I'm pretty sure that the Chrome team can do better.
I think I found my kindred spirit! I have one Firefox instance presently at 3 windows and 3379 tabs and another with 10 windows and somewhere north of 2300 tabs. I wouldn't dare do this under Chrome/Chromium.
On my system at least, I've noticed that Firefox does get less responsive around 8000+ tabs. Mostly it's just the start up that complains.
Sometimes I'll get annoyed and mass-bookmark/close tabs (filed under date of closure). Do you ever do that or do you usually filter through things on an as needed basis?
For finding things I just use search in Power Tabs. Filtering down usually leaves me with a list I can scan through quickly. When it comes time to clean up I cheat by using that as well - filter my tab list, then select individual or groups of tabs to close. Generally I'll start by closing all tabs from news sites like the NY Times and WaPo under the assumption that they're probably stale, then clear out a bunch of HN tabs, and most often then switch to digging through the github ones to see what's actually relevant anymore. StackExchange and Reddit tend to get slashed pretty hard as well. Basically filter, viciously select, then close and I can blow away a thousand tabs in a couple of minutes.
The highest I've ever gotten was around 6000 on old Firefox for Linux and I did see some slowdowns then, but that was on a seven year old laptop.
Oh, there are kindred spirits here. I've recommended this on other tab-related discussions but Tab Stats is one of the few Firefox addons that have been worth using as a tab hoarder. Allows me to see which pages are open in multiple tabs and then deduplicate them if needed, or just looking at (or closing) open tabs based on domain.
(I'm not affiliated with the creator and it's not without its own annoyances, but still easily recommendable to anyone with thousands of tabs open)
I don't find it too tedious to go through and nuke things I know aren't useful long term (they're usually shunted to a separate throw away window for this reason!), but there's no easy solution for tab deduplication. What you've linked looks like it fits the bill!
Session restore is definitely not designed to scale up that high. I'm impressed that it works. If you're curious you should take a look at the session store data in your profile directory sometime, it's probably at least 50mb of javascript-encoded tab info and browsing history. (Yes, your per-tab navigation history is stored too)
Are you referring to the (previous.jsonlz4|recovery.(bak|json)lz4) files under sessionstore-backups? If so, you're very close: Uncompressed, they're around 40MiB. Each of my tabs doesn't store much history since they're usually opened and looked at--or saved for a later date with no further navigation.
I had assumed based on what I introspected from my profile directory the real bottleneck in my (ab)use was probably the JSON parser and/or my CPU. On my hardware, 8000 tabs seems to be the point where the hang detector fires, which I'm guessing is probably determined by dom.max_chrome_script_run_time? Sounds like you're telling me it's time for a CPU upgrade!
Anyway, I don't know if it's an interesting data point for you, but the only time I've had Firefox's session restore fail was if I killed my X session immediately after closing Firefox, presumably before it has a chance to save state. Even then, I've been able to restore it to an earlier state using some incantation of JSON from sessionstore-backups without losing much. Again, strictly a user-induced failure.
When I say that Firefox is the most stable and robust browser out there, that's not an exaggeration. If anything, it's an understatement. What's more, it's always getting better and improving. Since I see from your bio that you're a dev or contributor, I want to personally thank you for your efforts. Your work doesn't go underappreciated by us, even if we're less than kind to it. :)
I remember the browser wars. Consequently, I will always use Firefox. The internals exposed to idiots like me via the profile are pretty easy to reason about. I like that.
My Safari had 1K+ Tabs and I finally spend some time last week closing those down to 150Tabs. Normally Safari dont work as well as Firefox with that many Tabs, the trick is to restart Safari from time to time ( So Tabs are not Active ). AND do NOT press the Tab Overview Button. Which somehow reloads all the tabs, make your Mac insanely slow and would kill your SSD. As you wont have enough memory it literally page hundreds of GB if not TB to your SSD.
Reported this to Apple a few times and never heard anything back. I really wish there is an option where Tab Overview is just a list of tabs and doesn't load them up.
I think most of us are using Tabs as a sort of live reading list or Bookmarks. And as anyone may guess, never really got to finish it. Ok now I wrote that I should try to clean those 150 tabs down to at least a few dozen.
Man, I know I have a problem, and I thought it was bad at about 700 tabs across 25 windows (virtual desktops are enablers for the window count). But seeing this thread I clearly need to up my game/download more memory.
In principle yes. The problem is that they loose their topicness and quickly become "oh this was the closest virtual desktops to where you were in the grid with an empty space." This is largely because I made the mistake of originally implementing the transition system as a grid (this was 5 years ago or so). Since then I realized that I basically want a button that will let me create a new topic space, and then remove that space automatically when I close the last window in it. Figuring out how gc stale topics (I can recreate them from memory) and/or discover which topics already have spaces is the hard part (I have had the ability to display topics on desktops via conky for years and that doesn't seem to have helped).
I have also thought about trying to decouple how spaces are associated per monitor, but couldn't figure out a way to interact with such a system that wouldn't leave my brain lost somewhere in even higher dimensional virtual spaces than it already is!
Reading your comments put into words a behavior pattern I didn't fully recognize I'd adopted, though certainly not to the extreme as you (or with the direct intent).
I noticed that my tab + window use started to balloon when it occurred to me that rather than dividing virtual desktops by task (one for dev, one for email/general browsing, etc) I could start moving browser windows from each instance to different locations based upon whatever I was doing (or for that matter, application-specific tasks). It's an exceedingly simplified (and admittedly very dumbed down) version of what it sounds like I understand you're doing, but the strange thing is that I found expanding your mental state across virtual desktops with the granularity of a browser instance/window/set of windows is an oddly freeing phenomenon.
It's a sense of euphoria I don't think the average Windows user will fully appreciate even with the integration of virtual desktops in Windows 10 since most are typically not familiar with it!
I agree that the feeling is quite freeing, and very effective for sandboxing activities to prevent distraction, the only trade off is when I have run a garbage collection workflow to reclaim space (usually completely adhoc). In fact writing this now, it seems to me that it almost completely removes the need for careful and deliberate use of the interface, you can do what you want nearly at the speed of thought because the mechanics don't get in your way. The trick is that you have to engineer the action space that you are in to prevent certain kinds of thoughts such as "I wonder if I have new email" from expressing themselves as finger presses. (Side note: this makes me think that there are going to be some really hard to solve problems when someone finally gets the brain computer interface hardware working, because determining what thoughts to transform into actions and what thoughts should just remain thoughts is a fundamental problem for the brain itself.)
Rearrangement of the contents of virtual desktops and the desktops themselves is a topic in and of itself. The emacs world has a lot of tooling around this as well (see for example [0]), and the are a number of patterns/workflows for managing/composing/recombining workspaces that would surely translate other window managers since they deal with essentially the same issues.
For me the issue tends to be that it is easier and faster to create a new window of whatever kind wherever I am to answer the immediate need than to find the right one to answer it in, so I just open a new terminal window, jump to where I need to be, do what I need to do, and then ... forget to close it. Similar issue with dragging a browser window around with me wherever I go. One answer to this might be to slightly modify the behavior of the "open new instance of this program" key to act instead as "jump to most recent instance of this program, or if it does not exist, create it and jump to it."
One thing related to gc is that I started to work on but did not manage to complete, was the ability to snapshot the layout of all windows across all desktops in an x session. That would allow effective patterns to persist across restarts without the need to come up with a way to specify how things should be arranged. It would allow them to be arranged by whatever means, saved, and restored. I'll probably get back to it at some point.
As a note, anyone with the inclination can do this kind of thing in any language as long as it has xlib bindings.