[ 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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
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: 3948
Témy: 51 | 51
Bydlisko: Bratislava
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.


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
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: 3948
Témy: 51 | 51
Bydlisko: Bratislava
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


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
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

457

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

1107

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

2763

23.01.2007 5:23

Elektronic

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

microSD karty s kapacitou už 12 GB

v Novinky

3

403

08.01.2008 11:22

mimkork

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

Yahoo Mail s neobmedzenou kapacitou pre všetkých

v Novinky

1

731

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

655

20.06.2008 14:53

P3CKIV

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

Hitachi přinese disky s kapacitou až 24 TB

v Novinky

27

907

29.11.2010 18:24

jtbs

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

382

04.09.2011 15:25

Melouch

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

Nové SSD flash disky s kapacitou až 120 GB

v Novinky

6

773

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

613

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

2261

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

790

21.04.2009 21:13

Spirit

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

PHP problem

v PHP, ASP

15

1930

30.03.2007 8:19

Punker661

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

Problem s php

v PHP, ASP

5

542

02.12.2009 22:37

shaggy

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

mysql + php problem

v PHP, ASP

3

731

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

538

17.05.2010 12:07

ricco24



© 2005 - 2024 PCforum, edited by JanoF