Hacker Newsnew | past | comments | ask | show | jobs | submit | febstar's commentslogin

Seems to be the smallest Go release yet (at least since 1.4). I wonder how the binary size was reduced in the recent two versions?

   1.21    63MB
   1.20    95MB
   1.19   142MB
   1.18   135MB
   1.17   129MB
   1.16   123MB
   1.15   116MB
   1.14   118MB
   1.13   114MB
   1.12   121MB
   1.11   121MB
   1.10   114MB
   1.9     98MB
   1.8     86MB
   1.7     78MB
   1.6     81MB
   1.5     74MB
(linux-amd64 archives from https://go.dev/dl/)


Long term intentional effort: https://go.dev/issue/27151


All I could find for context about what caused it (which is not reflected in that issue)

> Go command The directory $GOROOT/pkg no longer stores pre-compiled package archives for the standard library: go install no longer writes them, the go build no longer checks for them, and the Go distribution no longer ships them. Instead, packages in the standard library are built as needed and cached in the build cache, just like packages outside GOROOT. This change reduces the size of the Go distribution and also avoids C toolchain skew for packages that use cgo.

https://tip.golang.org/doc/go1.20


Other two comments are wrong. The correct answer is that the compiler now builds everything on demand if it's not already built. This now includes the standard library as well. Previously built versions of standard library modules were being shipped.


It seems like it rebuilds itself with PGO. I can't tell if I'm being paranoid/didn't only include stdlib in something, but I ran some random programs, restarted my computer and the install is now at 320mb, vs. 213 when I first untarred it.

https://go.dev/doc/pgo

> PGO in Go applies to the entire program. All packages are rebuilt to consider potential profile-guided optimizations, including standard library packages.


PGO is opt in, just like Rust. you have to explicitly tell the compiler that you want to use it.


Go1.21 uses PGO by default, if the file default.pgo exists.

> The -pgo build flag now defaults to -pgo=auto, and the restriction of specifying a single main package on the command line is now removed. If a file named default.pgo is present in the main package's directory, the go command will use it to enable profile-guided optimization for building the corresponding program.


Possibly compiler/linker improvements. For example, FTA:

“In Go 1.21 the linker (with help from the compiler) is now capable of deleting dead (unreferenced) global map variables, if the number of entries in the variable initializer is sufficiently large, and if the initializer expressions are side-effect free.”

There also may be differences in debug symbols in the various binaries.


None of these improvements seem Mac-specific. Does Chrome on other OSs have these?


If you want to maximize battery life on a Mac, you need to do Mac-specific things. The most energy efficient way to do things is to hook into proprietary APIs such as CTS and GCD. You can’t get around these by doing it yourself because they’re designed to coordinate tasks across all running processes.

This high level of coordination improves efficiency because the CPU can wake up, crank through the queue of scheduled tasks, and go back to sleep. If every process does it DIY, then the CPU just gets woken up repeatedly and your battery dies a death by a thousand cuts.


I don't see in the article where they mention using Mac-specific APIs though


> no longer need to perform the slow git fetch

Nice. Rust Cargo is also trialling out something similar.


> where every column just has a single formula

Sounds like tables in Excel?


Highlights for me:

  - tabs in File Explorer
  - faster and more accurate search
Still not sure why tabs in File Explorer took so long... but happy that its finally here.


I gave up on Windows search ages ago.

Now I use "Everything". It's instantaneous and finds, well, everything. Including hidden files or stuff in weird/obscure locations on the drive.

AFAIK it only does filenames though, nothing about searching in file contents as well. For me that's been good enough however.


For searching file contents use Agent Ransack https://www.mythicsoft.com/agentransack/


Under the Advanced Search options there is a way to search file contents but it comes with a warning that contents are not indexed, so you'll want to narrow the search through filenames first.

It has worked for me when I knew the snippet I was looking for but couldn't remember which of about 50 files might contain it.


For the record the tabs in file explorer aren't currently available, the page just says they are coming in October


.. and maybe in 2050 the favorites / Quick access is allways visible.


I really hope windows search has sped up again. I really only use it for opening apps that aren't on my taskbar but somewhere in the past couple of updates it slowed way down for me. I type S-T and it takes 5 seconds to come back with a list of apps starting with ST---.


Are there any power users who use File Explorer? I use TCMD since last millennium and ocassionally working with FE is unproductive PITA. Pretty much only time I use file explorer is when I open/save file (if that dialog window is even FE).


And still showing virtual folders (focuments, videos, pictures etc) before drives in my computer ?


  Location: South Africa
  Remote: Yes
  Willing to relocate: Yes
  Technologies: C#, Python (NumPy and friends), some JS, Go
  Skills: finance, statistics, applied maths
  Résumé/CV: on request
  Email: tncszsnmg@mozmail.com
I have more than four years of development experience in the quant-finance and insurance space. Have developed valuation and risk models, tools to speed up and automate analysis and reporting etc. Interested in opportunities inside and outside of finance. Current hobby project: a small 2D game using C++ (SFML).


  Location: South Africa
  Remote: Yes
  Willing to relocate: Yes
  Technologies: C#, Python (NumPy and friends), JS
  Résumé/CV: https://drive.google.com/file/d/1X-LFxgiO4Q62bsp0VDf0fHuD5tsW1N3x
  Email: tncszsnmg@mozmail.com
I have four years of development experience in the quant-finance and insurance space. Interested in opportunities inside and outside of finance.


Most likely referring to "Reflections on Trusting Trust" [0]; i.e. when the compiler is itself the attack vector.

[0]: https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...


Zed seems to be the successor of Github/Atom's abandoned Xray project [0]. "Responsive", Rust, CRDTs.

[0] https://github.com/atom-archive/xray


Most likely because Arabs did not invent the numbering system: https://news.ycombinator.com/item?id=29370553


Yeah let's not do original research in HN. This can have millions of reasons.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: