Size: a a a

2020 July 01

ЕР

Евгений Ромашкан... in Haskell
Хост в Амстердаме
источник

D

Dreamerinnoise in Haskell
лол
источник

ЕР

Евгений Ромашкан... in Haskell
Maxim Koltsov
1,017,744,506,248 bytes allocated in the heap
 13,707,342,344 bytes copied during GC
    136,441,144 bytes maximum residency (139 sample(s))
      2,397,400 bytes maximum slop
            130 MB total memory in use (0 MB lost due to fragmentation)
Это, кажется, даже в несколько раз больше чем у меня было аллокаций
источник

YS

Yan Shkurinskiy in Haskell
Ага
источник

YS

Yan Shkurinskiy in Haskell
4 раза
источник

MK

Maxim Koltsov in Haskell
очень странно
источник

V

Vladimir in Haskell
Может он накапливает результат, а не дропает. Отсюда thunks и тп может. Не смотрел, но есть аналог mapConcurrently_ может?
источник

MK

Maxim Koltsov in Haskell
там нет санков, вроде
источник

MK

Maxim Koltsov in Haskell
но я запускал последний раз без профайлинга памяти
источник

YS

Yan Shkurinskiy in Haskell
В том не было санков толком, да
источник

D

Dreamerinnoise in Haskell
While this library helps in ensuring that only a limited/pre-defined number of actions are evaluated in parallel, it still has one problem (especially with very large input data-sets). If the input data-set has N=2,000,000, this is going to create 2,000,000 asyncs, although 99% of them might not be getting concurrently evaluated. This still results in linear memory growth.
источник

ЕР

Евгений Ромашкан... in Haskell
Вот с выводом каждого результата в терминал.
    checks.....................: 99.97% ✓ 249935 ✗ 65   
   data_received..............: 53 MB  853 kB/s
   data_sent..................: 20 MB  324 kB/s
   http_req_blocked...........: avg=15.43ms min=0s     med=2.36µs  max=15.51s  p(90)=4.37µs  p(95)=5.38µs
   http_req_connecting........: avg=15.43ms min=0s     med=0s      max=15.51s  p(90)=0s      p(95)=0s    
   http_req_duration..........: avg=49ms    min=0s     med=44.86ms max=1.12s   p(90)=50.79ms p(95)=59.23ms
   http_req_receiving.........: avg=41.94µs min=0s     med=32.03µs max=32.51ms p(90)=58.38µs p(95)=77.2µs
   http_req_sending...........: avg=15.27µs min=0s     med=9.88µs  max=16.16ms p(90)=19.07µs p(95)=22.81µs
   http_req_tls_handshaking...: avg=0s      min=0s     med=0s      max=0s      p(90)=0s      p(95)=0s    
   http_req_waiting...........: avg=48.94ms min=0s     med=44.8ms  max=1.12s   p(90)=50.71ms p(95)=59.15ms
   http_reqs..................: 250000 4045.565372/s
   iteration_duration.........: avg=69.72ms min=4.24ms med=45.09ms max=30s     p(90)=51.5ms  p(95)=61.3ms
   iterations.................: 250000 4045.565372/s
   vus........................: 350    min=350  max=350
   vus_max....................: 350    min=350  max=350

В самом конце, правда, сервер действительно подтупил, и 65 запросов из 250к зафейлилось, и кажется в начале рпс был побольше чем к концу

Это приложение k6.io , раниться так же на моей машине, рпс в среднем вышел 4к
источник

D

Dreamerinnoise in Haskell
источник

V

Vladimir in Haskell
источник

V

Vladimir in Haskell
Надо поменять на mapConcurrently_ как минимум
источник

YS

Yan Shkurinskiy in Haskell
А там не для пула мэп?
источник

MK

Maxim Koltsov in Haskell
для пула
источник

MK

Maxim Koltsov in Haskell
у него нет версии с _
источник

MK

Maxim Koltsov in Haskell
Dreamerinnoise
While this library helps in ensuring that only a limited/pre-defined number of actions are evaluated in parallel, it still has one problem (especially with very large input data-sets). If the input data-set has N=2,000,000, this is going to create 2,000,000 asyncs, although 99% of them might not be getting concurrently evaluated. This still results in linear memory growth.
👍
источник

D

Dreamerinnoise in Haskell
источник