Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

January 21, 2010 / by Zsolt Soczó

Parallel.ForEach in action

Imádom, nagyon ügyes dolog. Csak azért nem hajtotta ki jobban a procikat, mert már nem győzték a diszkek.
Érdekes problémaként még az jött elő, hogy több mint 100 szálat indított a Parallel, mert úgy érezte ez jó lesz, de az Sql Server connection poolja alapban max. 100 kapcsolatot engedélyez, így egyes szálak bedugultak. Lejjebb lehet venni a szálak számát, vagy feljebb a poolt. Nekem 80 szál elég volt, úgyse győzte már az SQL Server az adatokat.

Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.

LEAVE A COMMENT

3 COMMENTS

  • hrongyorgy January 22, 2010

    Nem kellemetlen RDP-n at fejleszteni? En biztos kikeszulnek a mellekattintasok miatt…

  • Soczó Zsolt January 22, 2010

    Nem abban fejlesztek. A saját laptopomon, aztán berakom a kódot subversionbe, onnan update a szerverre, és ott tesztelem az erőforrásigényes kódokat.

  • Szindbad January 26, 2010

    E,

    – Szép példája az absztraction leakingnek, hogy nem bírok – akarmennyire is akarok – megszabadulni az alattam lévő erőforrások egyedi vonatkozásaitól (80-as thread limit).

    – Nem látom a parallel thread inditási/leállítási overheadet

    – Nem látom az f típusát (ez egyébként elépesztően zavar, hogy nekem ugyanúgy ki kell következtetnem, mint a fordítónak. Minek, mikor ott lehetne explicit?)

    – Enterprise applikációban a thread tipikusan olyan előforrás, aminek a használatát minimalizálni kell.

    Kiváncsi lennék egy olyan görbére, ami a MaxDegreeOfParallelism függvényében mutatja a lefutási időket. Kiváncsi lennek, hol az optimum, szerintem a 80 az nagyon sok.