【问题标题】:In general, do data-structures receive more read operations or write operations?一般来说,数据结构接收更多的读操作还是写操作?
【发布时间】:2020-04-01 19:43:59
【问题描述】:

我的一位教授声称 Hash Sets 在使用中通常接收比写入更多的读取,因此在设计并发时,您应该优化包含函数以使其最快。

他从未为此提供过引用,所以我想知道是否有任何资源讨论过这样的事情。

我认为了解应该在哪里尝试根据程序的使用方式优化程序可能是相关的。

【问题讨论】:

  • 特定于哈希集:每次写入也意味着一次读取,因此contains函数优化是必不可少的。不过,很难做出这样的笼统声明。哈希集的一种常见用途是重复数据删除,即多次写入和一次读取。每次写入仍然调用contains

标签: performance optimization concurrency


【解决方案1】:

对此没有明确的答案,因为这完全取决于数据结构将用于的应用程序。哈希集有利于通过键(读取)快速查找对象,这可能就是为什么它们将用于读取多于写入的场景的原因。链表在插入时很快,但通过键查找很慢,所以当应用程序需要时,用它来代替散列是不好的。

围绕选定的数据结构对逻辑进行建模是错误的,相反,必须为您的逻辑选择合适的数据结构,这可能是读取繁重或写入繁重的逻辑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2015-09-28
    • 2014-12-03
    • 2019-06-13
    • 1970-01-01
    相关资源
    最近更新 更多