Gmail still slow. Unrelated: Why haven't Google implemented a Google.com-quality-level search for email?
Gmail's email search is already the best in the space, by far. I'm sure there are improvements to be made, but zero external pressure to make them.
Effectively Managing Memory at Gmail Scale
21–30 of 50 posts
Re: Effectively Managing Memory at Gmail Scale
#22> Game developers, take note: to ensure a 16ms frame time (required to achieve 60 frames per second), your application must make zero allocations, because a single young generation collection will eat up most of the frame time. And this is why GC isn't the be-all and end-all solution to memory management. (As as for people that are screaming "pauseless GC" - it has throughput issues [generally due to fine grained loc…
> And this is why GC isn't the be-all and end-all solution to memory management. At least a GC knows where your memory blocks are and doesn't double free them. > Now, if someone combined a pauseless GC with proper cleanup (i.e. skipping GC altogether) of variables where the compiler could determine when they can be thrown away, Have you ever looked into ParaSail, Rust, ATS?
Wrong. Counterexample: https://mail-archives.apache.org/mod_mbox/subversion-users/2... (Obtained by a quick search of "garbage collector double-free bug" - there are many others out there)
> Have you ever looked into ParaSail, Rust, ATS?
ParaSail and Rust don't have a GC, period, AFAIK. ATS is too strict for my liking. (I want a programming language that will refuse to compile if it can find a "counterexample" that will assert, but will compile something (with a warning and inserted runtime checks unless explicitly marked otherwise) even if it cannot prove something is correct.)
Re: Effectively Managing Memory at Gmail Scale
#23> Game developers, take note: to ensure a 16ms frame time (required to achieve 60 frames per second), your application must make zero allocations, because a single young generation collection will eat up most of the frame time. And this is why GC isn't the be-all and end-all solution to memory management. (As as for people that are screaming "pauseless GC" - it has throughput issues [generally due to fine grained loc…
So basically one needs to re-implement smart pointers in Javascript, right ? What are the alternative to js style GC,for a language that wouldnt want to the developper to use manual memory allocation.I've heard about ARC.Are there other known architectures?
Object pools at the language level would be an alternative. (I.e. every object is allocated in a "pool", including pools. When a pool falls out of scope the entire pool is "freed". You can copy objects between pools as necessary.)
Re: Effectively Managing Memory at Gmail Scale
#24Does anyone else feel like Gmail has actually been getting slower in the past year? It feels like it takes a lot longer to load... And once it finally does load, you still end up having to wait a reasonable amount of time for Hangouts.
Re: Effectively Managing Memory at Gmail Scale
#25Earlier quoted context omitted.
> And this is why GC isn't the be-all and end-all solution to memory management. At least a GC knows where your memory blocks are and doesn't double free them. > Now, if someone combined a pauseless GC with proper cleanup (i.e. skipping GC altogether) of variables where the compiler could determine when they can be thrown away, Have you ever looked into ParaSail, Rust, ATS?
> At least a GC knows where your memory blocks are and doesn't double free them. Wrong. Counterexample: https://mail-archives.apache.org/mod_mbox/subversion-users/2... (Obtained by a quick search of "garbage collector double-free bug" - there are many others out there) > Have you ever looked into ParaSail, Rust, ATS? ParaSail and Rust don't have a GC, period, AFAIK. ATS is too strict for my liking. (I want a programm…
I don't touch Perl since 2004. Back then it used reference counting, not a GC.
Second, the post reads like a problem in the C code.
> ParaSail and Rust don't have a GC, period, AFAIK. ATS is too strict for my liking.
I was replying about GC alternatives for automatic memory management.
Re: Effectively Managing Memory at Gmail Scale
#26Re: Effectively Managing Memory at Gmail Scale
#27Gmail still slow. Unrelated: Why haven't Google implemented a Google.com-quality-level search for email?
The question I have is why the Google Voice iPhone app does not have a search function AT ALL.
Re: Effectively Managing Memory at Gmail Scale
#28Earlier quoted context omitted.
> At least a GC knows where your memory blocks are and doesn't double free them. Wrong. Counterexample: https://mail-archives.apache.org/mod_mbox/subversion-users/2... (Obtained by a quick search of "garbage collector double-free bug" - there are many others out there) > Have you ever looked into ParaSail, Rust, ATS? ParaSail and Rust don't have a GC, period, AFAIK. ATS is too strict for my liking. (I want a programm…
> Wrong..... I don't touch Perl since 2004. Back then it used reference counting, not a GC. Second, the post reads like a problem in the C code. > ParaSail and Rust don't have a GC, period, AFAIK. ATS is too strict for my liking. I was replying about GC alternatives for automatic memory management.
Exactly. All GC does is push down the code that can cause problems like double-frees into the language implementation. It doesn't magically make problems like double-free bugs impossible, like so many people say.
> I was replying about GC alternatives for automatic memory management.
Then why did you respond to and quote something that was talking about something entirely different?
Re: Effectively Managing Memory at Gmail Scale
#29> Game developers, take note: to ensure a 16ms frame time (required to achieve 60 frames per second), your application must make zero allocations, because a single young generation collection will eat up most of the frame time. And this is why GC isn't the be-all and end-all solution to memory management. (As as for people that are screaming "pauseless GC" - it has throughput issues [generally due to fine grained loc…
So basically one needs to re-implement smart pointers in Javascript, right ? What are the alternative to js style GC,for a language that wouldnt want to the developper to use manual memory allocation.I've heard about ARC.Are there other known architectures?
Yes, they'll eliminate the need for collection, by moving the overhead from a single collection to ever construction/destruction.
This may be worth it to get a constant framerate, but the overhead doesn't disappear. If anything, it could be greater: allocating from the heap usually costs more than an object allocation done by any sane VM.
Re: Effectively Managing Memory at Gmail Scale
#30Does anyone else feel like Gmail has actually been getting slower in the past year? It feels like it takes a lot longer to load... And once it finally does load, you still end up having to wait a reasonable amount of time for Hangouts.