gpt4 book ai didi

memory-management - 在 GO 中处理大内存块

转载 作者:数据小太阳 更新时间:2023-10-29 03:35:45 25 4
gpt4 key购买 nike

是否有任何指南可以描述 Go 如何有效地解决以下用例:

  1. 应用程序收到 100M 字符串,其中包含带分隔符的名称,每个名称最长 1M。例如:“本;亚伦;里奇;唐娜……”。需要在不显着增加内存使用量的情况下按字母顺序打印出相同的名字(假设总共使用了 150M RAM)
  2. 给定两个具有巨大内存块的集合(假设每个内存块高达 1M)并且需要有效地将少量 block 从一个集合移动到另一个集合(无需大量额外的内存分配)

最佳答案

  1. 我假设您无法修改字符串,因此字符串和字符串是不可变的(不是 []byte),因为删除任何此类限制都会使任务变得微不足道。如果是这样,那么您可以创建带有字符串索引的附加结构并在其中排序 (n*log(n)) 时间。只需以比较原始字符串中的子字符串的方式实现 Less
  2. 第二个很简单 - 只需使用链表即可。

关于memory-management - 在 GO 中处理大内存块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31771170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com