7 ms·
Just wanted to mention that some basic Windows-OS keyboard shortcuts don't work, like ALT+F to open the File menu. Also things like ALT+SPACEBAR to bring up the
by miffy900 11mo ago
Just wanted to mention that some basic Windows-OS keyboard shortcuts don't work, like ALT+F to open the File menu. Also things like ALT+SPACEBAR to bring up the system context menu for the focussed window (the menu with maximise, minimise, close options etc.) do not seem to work. I'm guessing with the DirectX rendering backend, the 'app' is rendered more akin to a video game than a native win32 process.
Also after install, the install directory takes up 400MB+. Even VSCode only takes up around 380MB. I believe it when they say it's not an Electron app, but I do wonder what's being packed in there. I was always under the impresion that Rust apps are pretty lightweight, but that install size is nearing Java levels of binary/dependency bloat.
- andrewmcwatters 11mo agoJust so others here know, it’s possible to have a graphics context and a Win32 menu bar in the same window.
- tremarley 11mo agoA 400mb+ install of bloat will upset many people This needs to be justified asap to help people understand and reconsider installing it.
- hdjrudni 11mo agoI was a little sus, so I checked: https://imgur.com/a/AJFQjfL https://imgur.com/a/AJFQjfL 897MB! But it appears to have installed itself twice for some reason. Maybe one is an 'update' which it didn't clean up...? I'm not sure. Edit: I just opened it and it cleaned itself up. 408MB now. I guess it was in the process of upgrading.
- eviks 11mo agoSo the upgrades are not delta diffs either?
- wongogue 11mo agoEven if it’s delta, it cannot patch itself when running on Windows. So it runs the updater, creates a new exec and switches to it after relaunch. Same as Chrome or Firefox.
- 1718627440 11mo agoOS deficiency. And maybe programs shouldn't be allowed to update themselves.
- josephg 11mo ago> maybe programs shouldn't be allowed to update themselves. Honestly I'd be all for this if the OS had a good autoupdate mechanism for 3rd party applications. But that's not the world we live in. Certainly not on windows - which is too busy adding antivax conspiracy articles to the start menu.
- torginus 11mo agoIs it? On Linux, you can overwrite the file, but the underlying inode will still be open, and the 'invisble' old version will linger around - you don't have any easy way short of restarting everything to make sure the new versions are being used. And with Chromium this directly leads to crashes - when you update the browser as its open, the new tabs will open with the new version of the binary, with the old ones still using the old binary - which usually leads to crash. I prefer 'you cannot do X' instead of 'we allow you to do it, but it might misbehave in unpredictable ways'.
- 1718627440 11mo agoI don't use Chromium. I never had issues with Apache, MySQLd, Firefox, Thunderbird, ... . You can even swap out the Linux kernel under userspace it still keeps all running.
- landr0id 11mo agoStrangely it's the actual binary's .text section that's about 400MB. Time to dive in!
- pjmlp 11mo agoWelcome to static linking of large applications. The world moved into dynamic linking in the 1980's for a reason. It is cool to advocate for a return to static linking when it is basic CLI tools.
- trenchpilgrim 11mo ago> The world moved into dynamic linking in the 1980's for a reason. Reasons that no longer exist. Storage is cheap, update distribution is free, time spent debugging various shared lib versions across OSes is expensive.
- pjmlp 11mo agoYet everyone is complaining on this thread about Zed distribution size, go figure. They should shut up and just buy bigger drives. Ah, they can't on their laptops, bummer. Also try to develop mobile apps with that mentality, https://www.abbacustechnologies.com/why-your-app-keeps-getting-uninstalled-mobile-app-development-solutions/ https://www.abbacustechnologies.com/why-your-app-keeps-getti...
- juliangmp 11mo agoWill it though? I mean it's a lot for a "text editor", but much less than a classical IDE. And 400M is pretty negligible if you're on Windows, where your OS takes up dozens of GB for no reason.
- ktm5j 11mo agoYeah I don't think 400M is really that big a deal. My `.emacs.d/` dir weighs in at over 1G and I've never thought twice about it. For people who are serious about their text editors, 400m is a small price to pay for something that works for you.
- eviks 11mo agoIf the OS is already bloated, that leaves LESS space for your editor!
- adastra22 11mo ago> I was always under the impresion that Rust apps are pretty lightweight Maybe compared to electron, but binary size is an issue with any nontrivial rust application. Due to how cargo works, it compiles and bundles in every dependency in world. 400MB is unnecessarily large though.
- deleted 11mo ago[deleted]
- TiredOfLife 11mo ago> I believe it when they say it's not an Electron app, but I do wonder what's being packed in there Half of Electron namely Node.js. As majority of lsp are .js based. Also extensions are WASM. Also VS Code keeps extensions in separate config directory, while Zed in main directory.
- gethly 11mo agoPSPad is 40MB. And that is quite a legacy software that is still being updated to this day. Notepad++ is 17 mb. 400 mb for new project in this amazing bestest compiled language ever made is ridiculous.
- 1718627440 11mo agoRust Hello World is larger than Git. Still smaller than Java and Electron, but not exactly small.
- ChrisSD 11mo agoThat's an entirely different issue. The kb's of overhead for backtrace printing and the format machinery is fixed and does not grow with the binary size. All combined it wouldn't account for anywhere close to 1mb let alone 100's of mb.
- vga42 11mo ago[dead]
- ben-schaaf 11mo agoEntirely untrue. Download git, run make and you'll get a 19MB `git` binary along with a whole lot of other 19MB binaries. Running `cargo build` produces a 3.8MB binary. And that's still comparing apples to oranges, because git is compiled with full optimizations. Running `cargo build --release` produces a 462KB binary. Even if I'm comparing to my system's git installation, that's still 3.9MB, and that's with all the debug info stripped. Yes rust (like C++) tends to produce larger binaries than C, but lets be real here: The reason Zed has a bloated binary is the ~2000 rust packages that comprise it.
- deleted 11mo ago[deleted]
- kibwen 11mo ago> The reason Zed has a bloated binary is the ~2000 rust packages that comprise it. Hundreds of those MBs are from tree-sitter grammars, which are JavaScript compiled to C.
- neobrain 11mo ago> I was always under the impresion that Rust apps are pretty lightweight, but that install size is nearing Java levels of binary/dependency bloat. For what it's worth, the zed executable on Linux weighs 3.2 MB. EDIT: Sorry, the nix store is too good at hiding things from me. It's actually around 337 MB plus webrtc-sys.
- johnisgood 11mo agoI just compiled "zed" with "cargo build --release" and not only did it pull >2000 dependencies, its size (executable file) is literally 1.4G. Debug is 1.2G. $ pwd /tmp/zed/target/release $ ls -lh ./zed -rwx------ 2 john john 1.4G Aug 28 17:10 zed --- $ dut zed/ | sort -h 598M 0B | | /- webrtc-sys-0a11149cbc74bc90 598M 0B | | | /- out 598M 0B | | |- webrtc-sys-090125d01b76a5e8 635M 160M | | /- s-hal7osjfce-1h7vhjb-4bdtrsk93m145adnqs17i9dxe 635M 160M | | |- project-06kh4lhaqfutk 641M 161M | | /- project-1ulvakop54j8y 641M 161M | | | /- s-hal5rdrth3-0j8nxqq-d0wsc7qnin39797z4e8ibhj4w 1.1G 1.1G | | /- zed-ed67419e7a858570 1.1G 1.1G | |- zed 1.3G 1.3G | /- zed-64b9faeefdf3b7df 1.3G 1.3G |- zed 1.4G 0B |- build 2.2G 0B | |- build 7.9G 1.4G /- deps 9.4G 0B |- release 14G 2.9G | |- incremental 19G 4.2G | /- deps 33G 0B /- debug 42G 0B /- target 42G 0B zed Summary: $ du -h ./target/debug/deps/ 20G ./target/debug/deps/ $ du -h ./target/release/deps/ 8.0G ./target/release/deps/ $ du -h ./target/debug/zed 1.2G ./target/debug/zed $ du -h ./target/release/zed 1.4G ./target/release/zed This is on a whole new level of bloat; both with regarding to dependencies AND the resulting executable file(s) (EDIT: executable files are unstripped). Any explanations as to why "cargo" does not seem to re-use libraries (dependencies) in a shared directory, or why it needs >2000 dependencies (that I see being downloaded and compiled), or why the executable file of the release mode is 1.4G unstripped while of the debug one it is less?
- neobrain 11mo agoUnstripped, perhaps? ls -lh /nix/store/63rdpgbzn7f1smh7688crcrpfsh833bb-zed-editor-0.199.10/bin/zeditor -r-xr-xr-x. 2 root root 3.2M Jan 1 1970 /nix/store/63rdpgbzn7f1smh7688crcrpfsh833bb-zed-editor-0.199.10/bin/zeditor EDIT: Ah, it was too good to be true. The true binary is hidden in libexec/.zed-editor-wrapped :( ls -lh /nix/store/52smrb1z8r4n71zx50xagkcdrhlga4y5-zed-editor-0.207.4/libexec/.zed-editor-wrapped -r-xr-xr-x. 2 root root 337M Jan 1 1970 /nix/store/52smrb1z8r4n71zx50xagkcdrhlga4y5-zed-editor-0.207.4/libexec/.zed-editor-wrapped Extra weight also comes from webrtc, which nixpkgs dynamically links. So yeah, it's quite a large binary indeed.
- deleted 11mo ago[deleted]
- bowsamic 11mo ago> I was always under the impresion that Rust apps are pretty lightweight I'm not sure what gave you that impression. I'd say Rust is pretty well known for fat binaries
- kibwen 11mo agoMost of the sticker shock from Rust binaries is due to them being statically-linked by default. Considering that, Rust binaries aren't especially large, especially if you strip them. Dynamically-linked binaries are better at obscuring their size.
- timeon 11mo agoHelix binary on my system is 20MB+ but dynamically linked grammars are additional 200MB. Those 380-400MB are probably not pure binaries are they?
- bdhtu 11mo agoCompared to Sublime Text: RAM: 213 MB Zed 41 MB ST Storage: 406 MB Zed 52 MB ST Startup time: Zed is slower than ST (but only by a few milliseconds). Also when you reopen ST it will remember how you've resized the window from last time whereas Zed won't.
- andrewl-hn 11mo agoProbably it helps that Sublime doesn't come with an AI agentic features, LSP, and a whole video-conferncing and screen-sharing client by default.
- CaptainOfCoit 11mo ago> and a whole video-conferncing and screen-sharing client by default Haha wait what? Are you confusing Zed (the text editor) with something else? Surely it doesn't ship with video conferencing???
- ahuth 11mo agoProbably referring to the collaboration tools. Zed has a bunch of stuff around remote pair programming with people.
- resonious 11mo agoI haven't seen video but it does have voice. And similarly I don't think it's screen-share, it's just editor state syncing, so live collaboration. Still quite a lot.
- joefitzgerald 11mo agoThere is a feature that lets you share your screen. It shows up for other participants in the collaboration session as a tab in the editor.
- trenchpilgrim 11mo agoIt has a voice chat system built in as part if the collaboration tools. Personally I think they should remove the voice chat...