草庐IT

High-Performance

全部标签

performance - 网页的堆大小被认为太大了?

我一直在查看Chrome精彩的堆快照,并开始想知道是否有任何关于网页内存使用“限制”的实验/大致测量。例如,如果我的堆快照显示总共10Mb,那么在过去5年制造的任何计算机上,这几乎肯定不是问题。但是对于大部分用户来说,什么时候会成为问题?50MB?100MB?300Mb?非常感谢您提供相关文章的链接。 最佳答案 我正在扩展GoogleChrome以支持3D图形。由于未优化的代码,我的页面有时会占用几GB的内存。我认为没有限制,除了在Windows上,GoogleChrome是32位应用程序,仅限于ca.操作系统为1.3GiB。在Li

performance - 网页的堆大小被认为太大了?

我一直在查看Chrome精彩的堆快照,并开始想知道是否有任何关于网页内存使用“限制”的实验/大致测量。例如,如果我的堆快照显示总共10Mb,那么在过去5年制造的任何计算机上,这几乎肯定不是问题。但是对于大部分用户来说,什么时候会成为问题?50MB?100MB?300Mb?非常感谢您提供相关文章的链接。 最佳答案 我正在扩展GoogleChrome以支持3D图形。由于未优化的代码,我的页面有时会占用几GB的内存。我认为没有限制,除了在Windows上,GoogleChrome是32位应用程序,仅限于ca.操作系统为1.3GiB。在Li

performance - 是什么导致*中等*数量的项目的性能出现这种奇怪的下降?

我刚刚阅读了一篇article由RicoMariani撰写,关注给定不同位置、架构、对齐和密度的内存访问性能。作者构建了一个不同大小的数组,其中包含一个带有int载荷的双向链表,该载荷被洗牌到一定百分比。他对这个列表进行了试验,并在他的机器上发现了一些一致的结果。引用结果表之一:Pointerimplementationwithnochangessizeof(int*)=4sizeof(T)=12shuffle0%1%10%25%50%100%10001.991.991.991.991.991.9920001.991.851.991.991.991.9940001.992.282.77

performance - 是什么导致*中等*数量的项目的性能出现这种奇怪的下降?

我刚刚阅读了一篇article由RicoMariani撰写,关注给定不同位置、架构、对齐和密度的内存访问性能。作者构建了一个不同大小的数组,其中包含一个带有int载荷的双向链表,该载荷被洗牌到一定百分比。他对这个列表进行了试验,并在他的机器上发现了一些一致的结果。引用结果表之一:Pointerimplementationwithnochangessizeof(int*)=4sizeof(T)=12shuffle0%1%10%25%50%100%10001.991.991.991.991.991.9920001.991.851.991.991.991.9940001.992.282.77

performance - 为什么嵌套的 MaybeT 会导致指数分配

我有一个程序。importControl.MonadimportControl.Monad.IdentityimportControl.Monad.Trans.MaybeimportSystem.EnvironmenttryR::Monadm=>([a]->MaybeTm[a])->([a]->m[a])tryRfx=domreturntNothing->returnxcheck::MonadPlusm=>Int->mIntcheckx=ifx`mod`2==0thenreturn(x`div`2)elsemzerofoo::MonadPlusm=>[Int]->m[Int]foo[]

performance - 为什么嵌套的 MaybeT 会导致指数分配

我有一个程序。importControl.MonadimportControl.Monad.IdentityimportControl.Monad.Trans.MaybeimportSystem.EnvironmenttryR::Monadm=>([a]->MaybeTm[a])->([a]->m[a])tryRfx=domreturntNothing->returnxcheck::MonadPlusm=>Int->mIntcheckx=ifx`mod`2==0thenreturn(x`div`2)elsemzerofoo::MonadPlusm=>[Int]->m[Int]foo[]

performance - Scala:可变对象与不可变对象(immutable对象)性能 - OutOfMemoryError

我想在scala中比较不可变的.map和可变的.map的性能特征,以便进行类似的操作(即将多个映射合并为一个映射)。请参见)。对于可变映射和不可变映射,我有类似的实现(见下文)。作为一个测试,我生成了一个包含1000000个单项映射[int,int]的列表,并将这个列表传递到我测试的函数中。有了足够的内存,结果就不足为奇了:对于mutable.map,大约1200毫秒;对于unmutable.map,大约1800毫秒;对于使用mutable.map的命令式实现,大约750毫秒;map——不确定是什么造成了巨大的差异,但也可以对此发表评论。让我有点吃惊的是,也许因为我有点厚,在Intel

performance - Scala:可变对象与不可变对象(immutable对象)性能 - OutOfMemoryError

我想在scala中比较不可变的.map和可变的.map的性能特征,以便进行类似的操作(即将多个映射合并为一个映射)。请参见)。对于可变映射和不可变映射,我有类似的实现(见下文)。作为一个测试,我生成了一个包含1000000个单项映射[int,int]的列表,并将这个列表传递到我测试的函数中。有了足够的内存,结果就不足为奇了:对于mutable.map,大约1200毫秒;对于unmutable.map,大约1800毫秒;对于使用mutable.map的命令式实现,大约750毫秒;map——不确定是什么造成了巨大的差异,但也可以对此发表评论。让我有点吃惊的是,也许因为我有点厚,在Intel

performance - 在 x86 上成功的非对齐访问的实际效果是什么?

我总是听说未对齐的访问很糟糕,因为它们要么会导致运行时错误并使程序崩溃,要么会降低内存访问速度。但是我找不到任何关于它们会减慢多少速度的实际数据。假设我在x86上并且有一些(但未知的)未对齐访问份额-实际上可能出现的最严重的减速是什么?如何在不消除所有未对齐访问并比较两个版本代码的运行时间的情况下估算它? 最佳答案 这取决于指令,对于大多数x86SSE加载/存储指令(不包括未对齐的变体),它会导致错误,这意味着它可能会导致您的程序崩溃或导致大量往返于您的异常处理程序(这意味着几乎或所有性能都会丢失)。未对齐的加载/存储变体以IIRC

performance - 在 x86 上成功的非对齐访问的实际效果是什么?

我总是听说未对齐的访问很糟糕,因为它们要么会导致运行时错误并使程序崩溃,要么会降低内存访问速度。但是我找不到任何关于它们会减慢多少速度的实际数据。假设我在x86上并且有一些(但未知的)未对齐访问份额-实际上可能出现的最严重的减速是什么?如何在不消除所有未对齐访问并比较两个版本代码的运行时间的情况下估算它? 最佳答案 这取决于指令,对于大多数x86SSE加载/存储指令(不包括未对齐的变体),它会导致错误,这意味着它可能会导致您的程序崩溃或导致大量往返于您的异常处理程序(这意味着几乎或所有性能都会丢失)。未对齐的加载/存储变体以IIRC