首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要在web应用程序中进行垃圾收集?

为什么要在web应用程序中进行垃圾收集?
EN

Stack Overflow用户
提问于 2015-01-15 16:13:33
回答 1查看 365关注 0票数 2

考虑在一个平台上构建一个web应用程序,其中每个请求都由一个用户级线程(ULT)处理(绿色线程/erlang进程/goroutine/...任何轻量级线程)。假设每个请求都是无状态的,并且像DB连接这样的资源在应用程序启动时获得,并在这些线程之间共享。在这些线程中有什么垃圾回收的需求?

通常,这样的线程是短时间运行的(几毫秒),如果设计良好,不会使用超过几个(KB或MB)的内存。如果线程中分配的资源的垃圾收集是在线程退出时完成的,并且独立于其他线程,那么即使是第98个或第99个百分位数的请求也不会有GC暂停。所有请求都将在可预测的时间内得到响应。

这样的模型有什么问题?为什么它没有被广泛使用?

EN

回答 1

Stack Overflow用户

发布于 2015-01-15 16:56:16

你的假设可能不是真的。

如果设计良好,

不会使用超过几个(KB或MB)的内存

想象一下,在web应用程序中使用的文本文件中有一个计算单词的函数。一些天真实现可能是,

代码语言:javascript
复制
def count_words(text):
    words = text.split()
    count = {}
    for w in words:
        if w in count:
            count[w] += 1
        else:
            count[w] = 1
    return count

它分配的内存比文本大。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27959094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档