cost 275 ms
我可以利用惰性求值來引用沒有空間泄漏的未來值嗎?

[英]Can I exploit lazy evaluation to reference future values without space leaks?

我正在嘗試使用 function 的部分 output 作為其輸入之一,嘗試在大量輸入上運行價格適中的 function。 代碼按預期運行,不幸的是它在此過程中消耗了大量的 memory (堆上略低於 22GiB,最大駐留略高於 1GiB)。 這是我的意思的簡化示例:{-# LANGUAGE Ov ...

在 `State` monad 上使用 `mapM` 和 `foldM` 避免空間泄漏

[英]Avoiding space leaks with `mapM` and `foldM` over `State` monad

在State monad 上使用foldM和mapM時如何避免空間泄漏? 去年的第 20 天代碼出現有一個難題,即根據如何穿過迷宮的說明生成迷宮的 map。 例如, NN給迷宮的指令 (一條筆直的走廊向北兩步),並且指令NNN(EE|WW)S給出了迷宮 (向北走一點,然后是 go 向東然后向南或 ...

在Haskell中調試內存問題

[英]Debug memory issue in Haskell

我正在嘗試解決Haskell中整個代碼系列的問世。 我在解決2015/06練習時遇到了內存問題,其中有一堆指令可以打開,關閉和切換網格上的燈光。 目標是計算最后點亮的燈數。 給定指令被解析並存儲在Instruction類型中,這是類型定義: data Instruction = ...

C ++中的空間泄漏?

[英]Space leak in C++?

在Google的C ++測試框架中 ,我的眼睛是: ..立即從當前函數返回,可能會跳過其后的清理代碼,這可能會導致空間泄漏 。 而我的大腦希望看到內存泄漏。 C ++中使用該術語嗎? 如果是這樣,這是什么意思(換句話說,它與內存泄漏有何區別)? 在Haskell ...

Haskell中的空間泄漏 - 舊編譯器的錯誤還是我的? 顯然是后者

[英]Space leak in Haskell - old compiler's fault or mine? Apparently the latter

我最近參加了競爭性的編碼競賽。 這個Haskell在運行ghc 7.6.3的判斷系統上發生了空間泄漏: 比賽結束后,測試用例發布。 其中一個失敗案例是:(一個包含10 ^ 5個關閉的parens的文件)​​: https : //cses.fi/download/1/b575d1 ...

Haskell自下而上的DP空間泄漏

[英]Haskell bottom-up DP space leak

抱歉,如果這太具體了,我是新來的,不確定是否合理。 數小時來,我一直對這個問題ash之以鼻,無可奈何。 以下代碼是我對競爭性編程問題的實現。 目的是像自底向上的動態編程解決方案一樣工作,它使用fold insolve生成前一個DP表的每一行。 理論上,GHC應該能夠優化表的所有舊行 ...

動態Haskell中的空間泄漏

[英]Space leak in dynamic Haskell

我幾天前發布了這個問題: 使用動態編程的Haskell性能 ,建議使用ByteStrings而不是Strings。 用ByteStrings實現算法后,程序崩潰,超出了內存限制。 內存消耗似乎與n成比例。 輸入字符串的長度為1000個字符。 我希望Haskell在打印每個解決方案后 ...

困惑:Haskell IO Laziness

[英]Confused: Haskell IO Laziness

我在理解Haskell懶惰評估方面遇到了困難。 我寫了簡單的測試程序。 它讀取4行數據,第二和第四輸入行有很多數字。 words和map是在懶惰的字符流上執行的,這個程序使用常量內存。 但是當我添加參數t ,情況就會發生變化。 我的期望是因為t是延遲流上的map和wor ...

Haskell Space Leak

[英]Haskell Space Leak

所有。 在嘗試解決一些編程測驗時: https : //www.hackerrank.com/challenges/missing-numbers ,我遇到了空間泄漏問題。 主要功能是difference ,實現多組差異。 我發現List':'和Triples(,,)保持在-hT選 ...

為什么我的並行遍歷Haskell程序泄漏內存?

[英]Why does my parallel traversal Haskell program leak memory?

考慮以下Haskell程序(我這樣做主要是出於學習目的): 當我運行它時,內存很快就會升至幾GB。 我嘗試了各種組合以確保丟棄中間計算的結果(打印操作)。 為什么它還在泄漏空間? ...

使用遞歸列表zipWith進行空間泄漏

[英]Space leak with recursive list zipWith

我的空間泄漏發生在我的一個個人項目中。 但我不希望有人在我的項目中解決它。 我想了解它。 我通過編寫這個算法來重現我的空間泄漏: u是由以下定義的序列: u(0)= 1 你(1)= 2 你(2)= 1 你(4)= 3 ... 你( ...

在Haskell的LPath實現中是否存在空間泄漏?

[英]Is there a space leak in this Haskell implementation of LPath?

為了好玩,我嘗試編寫朴素的最長路徑算法的實現(用於查找循環圖中最長的非循環路徑的長度)。 我從命令式算法的直接移植入手,該算法運行良好且性能良好。 data Route = Route {dest:: !Int32, cost:: !Int32} type Node = [Route] ...

我如何才能懶惰地流進折疊架?

[英]How do I get lazy streaming into the foldl'?

一個人如何制作自己的流代碼? 我當時隨機生成了約10億對戰斗甲板,但我希望它們能被懶散地流進折疊架,但空間泄漏了! 這是代碼的相關部分: 當我用-O2運行它時,它首先開始凍結我的計算機,然后該程序消失,並且計算機恢復了運行(然后Google Chrome瀏覽器有了它要消耗我所有資源的 ...

如何在Haskell中將大數據塊解析為內存?

[英]How do I parse a large data block into memory in Haskell?

經過反思,整個問題可歸結為更簡潔的問題。 我正在尋找一個Haskell數據結構 看起來像一個列表 有O(1)查找 有O(1)元素替換或 O(1)元素追加(或前置...我可以反轉我的索引查找,如果是這種情況)。 我總是可以用一個或另一個來編寫我以后的算法。 內 ...

Floyd-Warshall在Haskell的表現–修復空間泄漏

[英]Performance of Floyd-Warshall in Haskell – Fixing a space leak

我想使用Vector來在Haskell中編寫Floyd-Warshall所有對最短路徑算法的有效實現,以期獲得良好的性能。 該實現非常簡單,但是不使用3維| V |×| V |×| V | 由於我們只讀取了先前的k值,因此使用二維向量。 因此,該算法實際上只是傳遞2D向量並生成新2 ...

根據布倫特的“傳送海龜”算法,表觀空間泄漏

[英]Apparent space leak in variant upon Brent's “teleporting turtle” algorithm

為了實現兩個不同數據結構的值比較,我一直在實現布倫特“傳送海龜”算法的一種變體,該算法映射到通過N樹的所有深度路徑上,並使用我自己的回溯算法來回滾循環,而不排除非循環路徑與循環路徑部分重疊。 從所有方面看,我的算法都是正確的(即使我覺得我應該實際證明這一點,即使我沒有任何代碼方面的背景知識), ...

STUArray sie - 只有當i == Int時空間泄漏?

[英]STUArray s i e - space leak only when i == Int?

我對以下剪切的行為感到困惑: 使用-O2編譯時,堆棧溢出(顯示正在使用的20M內存)。 令人困惑的部分是,如果進行以下任何更改,它實際上按預期工作(沒有堆棧溢出和9M內存正在使用中): Int64代替Int :(給出evalFib :: Int64 -> Int和STU ...

為什么這段代碼會消耗那么多堆?

[英]Why does this code consume so much heap?

這是完整的存儲庫 。 這是一個非常簡單的測試,它使用PostgreSQL簡單數據庫綁定將500000個隨機事物插入數據庫。 它使用MonadRandom並可以延遲生成事物。 這是惰性的Thing生成器 。 這是case1和使用Thing生成器的特定代碼段: 這是case2 ...

雙流饋送以防止不必要的記憶?

[英]double stream feed to prevent unneeded memoization?

我是Haskell的新手,我正試圖以流處理方式實現Euler的Sieve。 當我查看關於素數的Haskell Wiki頁面時 ,我發現了一些神秘的流優化技術。 在3.8維基的線性合並中: 它說 “ 根據Melissa O'Neill的代碼,這里引入了雙素數反饋,以防止不 ...

無可辯駁的模式在遞歸時不會泄漏內存,但為什么呢?

[英]Irrefutable pattern does not leak memory in recursion, but why?

下面的代碼塊中的mapAndSum函數結合了map和sum (不要緊,在main函數中應用另一個sum ,它只是用於使輸出緊湊)。 map是懶惰地計算的,而sum是使用累積參數計算的。 我們的想法是,可以在沒有完整列表的情況下使用map的結果,並且(僅)之后可以“免費”獲得sum 。 ma ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM