[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9 | 9
NapísalOffline : 28.01.2013 19:42 | problem s kapacitou ?? (PHP)

zdravim, pls help.mam problem s nasl. fciou. Ide o fatal error : Allowed memory size of bytes exhaust. s odporucanim alokovat 24 B. Nasledne som vyguglil jednoduchy prikaz "ini_set('memory_limit','128M');", kde som zvysoval od 24 vyssie a po 128 s tym ze aj poziadavka na velkost pamate sa stale zvysovala. Fcia mi ma vratit maticu, s tym ze neskor bude posielana do druheho suboru kde vykreslujem pomocou GD. To ale neni podstatne, tiez som poprehadzoval mocninove prepocty z pow(n,2) na n*n cim som vlastne odsuval chybovy riadok, ale stale pytalo vacsiu alokaciu, a neskor uz bol problem s presiahnutim defaultneho execution time (30s). Tak si teda neviem rady. POZNAMKA: v argum. fcie su aj samotne indexy potom tu fciu volam cyklicky. Napada ma ci to nie je prilis narocne na mnozstvo kopii funkcii..ale neviem. vie miekto poradit co s tym ?..DAKUJEM
Kód:
function last_space($o, $p, $r, $s, $t, $u, $v)// args[A, B, x, d, diff_1, index, index]
{
      
      $matrix= array(array());// [0][i] - stredy // [1][i] - spojnice2 // [2][i] - vysky //
       for($i = 1, $j = 0 ; $j < floor($o / $s) ; $i+=2, $j++)
               {
               $matrix[0][$j] = $i * $r;
               }

            for($i = 1 ; $i < 5 ; $i++)
              {
              for($j = 0 ; $j < floor(count($matrix[0])) ; $j++)
               {
               $matrix[$i][$j]=0;// nulovanie zvysku - v tele fcie budu prepisane podla potreby
               }
              }


            $vertic       = ($p - $r) - ($s + (floor(($p - $s)/($s - $t)) - 1) * ($s - $t) - $r);
            $horizont = $s;
            

            $n = 1; $q = $m = $f = 0;   

      while($o - $f >= $r)
            {
               
               
               $spojnica       = sqrt($vertic * $vertic + $horizont * $horizont);
               $gamma          = rad2deg(acos(($s * $s + $s * $s - $spojnica * $spojnica) / (2 * $s * $s)));
               $alfa          = (180 - $gamma) / 2;
               $alfa_          = rad2deg(acos($vertic * $vertic + $spojnica * $spojnica - $horizont * $horizont)/(2*$spojnica*$vertic));
               $alfa__          = 90 - $alfa - $alfa_;
               $gamma_       = (180 - $alfa__) / 2;
               $acko          = sqrt($s * $s + $s * $s - (2 * $s * $s) * cos(deg2rad($alfa__)));
               $v_c          = $s * sin(deg2rad($alfa__));

               //$posun1        = sqrt(pow($acko,2) - pow($v_c,2));
                $spojnica2     = sqrt($s*$s + $s*$s - 2*$s*$s*cos(deg2rad(180 - 2*$alfa__)));
               
               if(2 * $r + $f + ($spojnica2 / 2) > $o)
                  {
                  break;
                  }
               else if(2 * $r + $f + $spojnica2 / 2 <= $o)
                  {
                  $matrix[3][$q] = $m + $spojnica2 / 2;
                  $matrix[2][$q] = $v_c + $r;
                  $f             = $matrix[3][$q];
                  
                     if(2 * $r + $f + $spojnica2 <= $o)
                        {
                        $matrix[1][$q] = $m + $spojnica2;
                        $m             = $matrix[1][$q];
                        $f             = $m;
                        }
                  }
                  
               while(!($f+$r >= $matrix[0][$n - 1] && $f+$r < $matrix[0][$n] && $n < count($matrix[0])))
                    {
                      $n++;
                     
                     if($f+$r >= $matrix[0][$n - 1] && $f+$r < $matrix[0][$n])
                       {
                        $horizont          = $matrix[0][$n] - $f;
                        
                       }
                     
                    }
                   
               $q++;
                }
   return $matrix[$u][$v];
   
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9 | 9
Napísal autor témyOffline : 29.01.2013 0:52 | problem s kapacitou ?? (PHP)

+ ak tu fciu nevolam cyklicky ale len jednorazovo, napr:

echo last_space($A, $B, $x, $d, $diff, 2, 1); - tz ze tie indexy 2 a 1 vlozim priamo, tak je problem s prekrocenim execution time na zaciatku vnoreneho cyklu while(!($f+$r >= $matrix[0][$n - 1] && $f+$r < $matrix[0][$n] && $n < count($matrix[0])))
. . .

ciel je vlastne to aby som mohol pouzit udaje z matice $matrix[][] na roznych miestach v scriptoch. vdaka


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 29.01.2013 22:18 | problem s kapacitou ?? (PHP)

Tak sa ti to zrejme proste v tom cykle zacykluje. Nechal by som si vypisovat hodnoty tich premennych co riadia cyklud a podla toho sledoval preco sa to zacykluje.


_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9 | 9
Napísal autor témyOffline : 30.01.2013 4:30 | problem s kapacitou ?? (PHP)

hmm..vazne vdaka za nazor len neviem presne ako to myslis, ak mas na mysli nejaku slepu iteraciu tak to na 99perc. vylucujem. inak ked ta procedura bola priamo v kode(nie cez fciu) tak normalne mi davala hodnoty. neviem si s tym rady, nemam skusenost s podobnym problemom. nejak ju zrejme musim prerobit jednoducho. napadlo ma ci tam nieje zle nieco co skuseny prog. hned vidi, v kode ako takom by chyba nemala byt, ocakaval som skor radu na nejaku fintu..kazdopadne dik aj tak


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 30.01.2013 7:45 | problem s kapacitou ?? (PHP)

Ja som ten kod nejak podrobne neskumal ani netestoval. Kazdopadne mozes si skusit este zvysit cas na 1 script aj volnu pamet pre script v php.ini a uvidis, ci ti to aspon poriadne prebehne.


_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Správca fóra
Správca fóra
problem s kapacitou ?? (PHP)

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 30.01.2013 9:04 | problem s kapacitou ?? (PHP)

Bolo by vhodne, keby si zverejnil aj vstupne data, pri ktorych sa problem vyskytuje, aby sa pricina dala rychlejsie identifikovat.


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9 | 9
Napísal autor témyOffline : 30.01.2013 15:22 | problem s kapacitou ?? (PHP)

ok tak vstupy, menujem zaradom podla poradia argum. ($o, $p, $r, $s, $t, $u, $v) ,
$o, $p su strany pravouhleho 4uholnika..cize stvorec alebo obdlznik v metroch, vykresovanie mam uz v mierke ale v samotnej funkcii nieje podstatne aspon myslim.
$r je polomer kruznice,
$s je priemer tej istej kruznice, cize $r == $s/2,
$t je diferencia kt mi vyplinula z gonio analyzy, zpravidla je to cca 6tina az 9mina priemeru tej kruznice,
$u, $v - indexy vyslednej matice na vytiahnutie hodnot. cize rozmerove data mozu byt kludne v metroch, a len dodrzat aby priemer kruznice bol mensi nez strany 4uholnika a najlepsie niekolko krat mensi napr. 3x ..tz napr. function last_space(9, 7, 1.3, 2.6, 0.4, $u, $v).
..vyznam fcie je ze mi ukaze ako ulozit predmet s kruhovou podstavou cize valec do priestoru o rozmeroch $o x $p aby bol priestor co najlepsie vyuzity, vysledky matice dalej idu do fcie imagearc(...)
fcia last_space(); je uz len doplnkova alebo zaverecna fcia, je to skolsky projekt ohladom logistiky.
..a problem sa vyskztuje na riadku kde zacina ten druhy, vnutorny cyklus while()
dakujem za kazdy prispevok


Offline

Správca fóra
Správca fóra
problem s kapacitou ?? (PHP)

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 31.01.2013 10:35 | problem s kapacitou ?? (PHP)

Skusil som spustit last_space(9, 7, 1.3, 2.6, 0.4, 1, 1). Podla vsetkeho tam mas nekonecny cyklus (1. while), kde sa ti hodnoty v podmienke vobec nemenia, v mojom pripade to bolo vzdy while(9 - 0 >= 1.3). Cyklus sa nedostal ani do if vetvy, kde je break, ani do elseif vetvy, kde by sa mala menit hodnota $f, ktora sa pouziva v podmienke 1. while cyklu.

Hlavny dovod je chyba pri vypocte $alfa_, kde acos vracia NAN, pretoze cislo predane ako argument je > 1


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9 | 9
Napísal autor témyOffline : 31.01.2013 17:08 | problem s kapacitou ?? (PHP)

ou, vdaka, hmm..pri hodnotach co som daval mi NAN vobec netlacilo..vdaka este raz!(:


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.01.12
Prihlásený: 20.07.13
Príspevky: 46
Témy: 9 | 9
Napísal autor témyOffline : 01.02.2013 2:31 | problem s kapacitou ?? (PHP)

takze..mal si pravdu bola tam chyba, pri kopirovani proced. do fcie sa mi podarilo pozmenit zatvorky, a acos platil len po lomitko, pritom mal zahrnat cely vyraz nebolo by ma napadlo ze je tam taka mechanicka chyba.sustredil som sa na ine, lebo povodne v nefunkcionalnom tvare to islo pekne..really thanx ! (:


 [ Príspevkov: 10 ] 


problem s kapacitou ?? (PHP)



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Nezrovnalost s kapacitou HDD

v Pevné disky a radiče

3

303

23.09.2008 21:46

dadmtb

V tomto fóre nie sú ďalšie neprečítané témy.

DVD s kapacitou 42GB?

v Novinky

17

814

07.07.2008 12:22

Qpkqkma

V tomto fóre nie sú ďalšie neprečítané témy.

Schéma: Merač kondenzátorov s veľkou kapacitou

v Elektronika

0

1999

23.01.2007 5:23

Elektronic

V tomto fóre nie sú ďalšie neprečítané témy.

Yahoo Mail s neobmedzenou kapacitou pre všetkých

v Novinky

1

484

29.03.2007 18:06

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

hdd sata2 s kapacitou 20 - 40 GB

v Úložné zariadenia

4

475

20.06.2008 14:53

P3CKIV

V tomto fóre nie sú ďalšie neprečítané témy.

microSD karty s kapacitou už 12 GB

v Novinky

3

199

08.01.2008 11:22

mimkork

V tomto fóre nie sú ďalšie neprečítané témy.

Poradte externy HDD s kapacitou aspon 1 TB

v Úložné zariadenia

0

222

04.09.2011 15:25

Melouch

V tomto fóre nie sú ďalšie neprečítané témy.

Hitachi přinese disky s kapacitou až 24 TB

v Novinky

27

632

29.11.2010 18:24

jtbs

V tomto fóre nie sú ďalšie neprečítané témy.

Nové SSD flash disky s kapacitou až 120 GB

v Novinky

6

466

23.11.2010 17:02

maestro44

V tomto fóre nie sú ďalšie neprečítané témy.

HITACHI predstavil pevné disky s kapacitou 1 TB na platňu

v Novinky

4

312

06.09.2011 18:52

Millfox

V tomto fóre nie sú ďalšie neprečítané témy.

Kingston uvádza kľúč s USB 3.0 a kapacitou 64 GB

v Novinky

23

1737

23.09.2010 8:30

Xaltotun

V tomto fóre nie sú ďalšie neprečítané témy.

Pevný disk so šťastím: WD Caviar Green s kapacitou 808,8 GB

v Novinky

12

497

21.04.2009 21:13

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

PHP problem

v PHP, ASP

15

825

30.03.2007 8:19

Punker661

V tomto fóre nie sú ďalšie neprečítané témy.

mysql + php problem

v PHP, ASP

3

441

21.04.2007 14:08

lukasmakac

V tomto fóre nie sú ďalšie neprečítané témy.

Problem PHP, MySQL

v PHP, ASP

11

274

17.05.2010 12:07

ricco24

V tomto fóre nie sú ďalšie neprečítané témy.

PHP-Shell problem

v PHP, ASP

4

330

25.03.2008 11:32

socket



© 2005 - 2017 PCforum, edited by JanoF