Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 ... 534 535 536 ... 554 555
Wyślij wiadomość do admina

Przewiń wpisy ↓

moje ... oprogramowanie

2025-02-03 (18:06)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 191
[ CZCIONKA MONOSPACE ]

fair_play

u mnie w paskalu jest
ta optymalizacja z else wolniejsza

Liczba linii sprawdzanych : 40
Gwarancja[5] : 16,616667274562%
Time calculated : 0,012447827870047 ms//starsza wersja
Brak5: 548669

Liczba linii sprawdzanych : 40
Gwarancja[5] : 16,616667274562%
Time calculated : 0,0148423988075176 ms//nowa optymalizacja
Brak5: 548669

==============================================

Liczba linii sprawdzanych : 4000
Gwarancja[5] : 100%
Time calculated : 0,196367543033925 ms//starsza wersja


Liczba linii sprawdzanych : 4000
Gwarancja[5] : 100%
Time calculated : 0,398992662752209 ms//nowa optymalizacja
2025-02-03 (18:17)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 193
[ CZCIONKA MONOSPACE ]


Niemożliwe

Tablicę tworzysz tylko raz, na początku, a kombinacji*jedno działanie to zasadnicza różnica.
Podmień procedurę w excelu i porównaj.
2025-02-03 (18:26)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 195
[ CZCIONKA MONOSPACE ]

else spowalnia
2025-02-03 (18:27)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 196
[ CZCIONKA MONOSPACE ]

Sorki
ale dziś nie mam już czasu na te sprawy
zaimplementowałem procedurę
i jest ciut wolniejsza.
2025-02-03 (18:28)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 197
[ CZCIONKA MONOSPACE ]


porównałeś w excelu?
2025-02-03 (18:30)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 198
[ CZCIONKA MONOSPACE ]

W excelu może być lepiej ciut
sprawdzę bo mam możliwość
ale jutro..
przepraszam dziś już!
muszę kończyć.

do jutra
2025-02-03 (18:33)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 200
[ CZCIONKA MONOSPACE ]

porównanie:
zdjęcie
zdjęcie
2025-02-03 (22:00)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 246
[ CZCIONKA MONOSPACE ]

Jutro sprawdzę w excelu,
ta wersja w paskalu mi ..nie śmiga.
📲
🤗

--- wpis edytowano 2025-02-03 22:01 ---

2025-02-04 (09:49)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 289
[ CZCIONKA MONOSPACE ]

Porównałem ,
ale zmodyfikowałem ,
procedurę Ci wysłałem fair_play na pocztę


nie lubię base1 ale kto wie.....porównaj ze swoją
niestety w paskalu ciut gorzej,ale to nie ten problem.

po pierwsze rand nigdy nie ułoży hitu rozpisu
bo podaje losowe liczby
a po drugie
jeśli była by zastosowana optymalizacja :

1-krok :
sprawdzenie braków i zarejestrowanie ich w masce

2-krok
podmiana wielokrotna ......ale nie losowa w 1-linii
i sprawdzanie tylko jednej linii
sumowane unikaty z zarejestrowanych +wynik z badanej linii
3-każdorazowa aktualizacja maski o adres dodany i usunięty
czyli +1 lub -1 jeśli w linii buforowanej zaszły zmiany w adresach w kwestii ilości występowania adresu

wtedy kto wie........ szybkość aktualizacji gwarancji
po podmianie ......... wzrośnie XXL-KROTNIE


Na razie nie udało mi się tego napisać.
2025-02-04 (10:14)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 291
[ CZCIONKA MONOSPACE ]

Ostatnie porównanie
dla [7] jak na obrazku


10s szybciej
-->ta procedura ,którą masz w poczcie



ale w paskalu to ..............

Max adres10/kod10: 254186856
Brak10: 192415947

Przeliczonych linii : 11522
Gwarancja[10] : 24,301378116892%
Time calculated : 3,77450022106574 s
================================
Max adres9/kod9: 94143280
Brak9: 36517432

Liczba linii sprawdzanych : 11522
Gwarancja[9] : 61,210792740597%
Time calculated : 3,68874683026215 s
================================
Max adres8/kod8: 30260340
Brak8: 0

Liczba linii sprawdzanych : 11522
Gwarancja[8] : 100%
Time calculated : 3,31412640855001 s
================================
Max adres7/kod7: 8347680
Brak7: 0

Liczba linii sprawdzanych : 11522
Gwarancja[7] : 100%
Time calculated : 2,45370817762601 s
================================
Max adres6/kod6: 1947792
Brak6: 0

Liczba linii sprawdzanych : 11522
Gwarancja[6] : 100%
Time calculated : 1,46872340591487 s



============stary proces====================
Max adres5/kod5: 376992
Brak5: 0

Liczba linii sprawdzanych : 11522
Gwarancja[5] : 100%
Time calculated : 0,681095944172383 ms

============proces z else ====================
Max adres5/kod5: 376992
Brak5: 0

Liczba linii sprawdzanych : 11522
Gwarancja[5] : 100%
Time calculated : 0,789549522625268 ms


nie ma co porównywać z excelem

--- wpis edytowano 2025-02-04 10:25 ---

2025-02-04 (15:16)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 326
[ CZCIONKA MONOSPACE ]


777ch>
Jak już kiedyś tu pisałem przy uruchamianiu tej samej procedury, raz za razam często otrzymuję inne wyniki. Nie mogę tego rozwiązać.
Wyłączam antywirusa, wyłączam internet, w Menadżerze nic nie chodzi oprócz excela, a wyniki czasu są nieraz różne,
Tak więc porównanie obu procedur Twojej i mojej nie jest jednoznaczne.
Zapuściłem nawet taki test:

sub test()
call leo
call sprawdź
end sub

aby obie procedury działały niby w takich samych warunkach. Ale tu pojawia się problem Option Base 1.
Option jest takie same dla obu procedur, ustawiane w nagłówku okna makr, więc nie mogę tego zablokować/odblokować pomiędzy procedurami w tym teście.
A brak tej zmiany skutkuje błędnym naliczaniem braków .

A tak generalnie to poza zerowaniem tablicy braków widzę tylko jedną różnicę w obu procedurach. Ty "numerujesz" od 0 ja od 1.
Innych różnic nie widzę.

Poniżej wyniki z sub test, ale nie wiem na ile w takich warunkach można je uznać za obiektywne.


zdjęcie
2025-02-04 (16:34)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 334
[ CZCIONKA MONOSPACE ]

fair_play

Musisz wiedzieć ,że zapełniając tablicę od 1
to —> pomijasz wiele komórek pamięci
więc w zasadzie .. tracisz pamięć 😎
chyba …że w [0]
—> masz zamiar coś schować😄

pozdrawiam
2025-02-04 (16:44)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 335
[ CZCIONKA MONOSPACE ]

Option base1 zostaw w jednym module
a option explicit w innym module

Obie procedury odpalasz
z innego przycisku.
Zawsze czas jest bardzo zbliżony
jeśli jednak inne aplikacje działają w tle
czy strony web
to wyniki mogą się znacznie różnić.

2025-02-04 (16:44)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 336
[ CZCIONKA MONOSPACE ]

777ch>

Nie bardzo rozumiem co zmieniłeś w mojej procedurze.
Jedyna zmiana to dodanie Option Explicit, zerowania tablicy braków i oczywiście numeracja tablic od 0 nie od 1.
W samej idei procedury nie widzę żadnych zmian.
Jak napisałeś przed chwilą na numeracji od 1 tracę na pamięci, a nie na czasie realizacji.
A porównanie obu procedur na pliku A.Westa wygląda tak:

zdjęcie

Pozdeawiam

P.S.
Napisałem że nic nie działa w tle.

--- wpis edytowano 2025-02-04 16:46 ---

2025-02-04 (16:50)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 337
[ CZCIONKA MONOSPACE ]

Pierwsza procedura to pierwszy arkusz od Ciebie
pierwszy pomysł adresowania…

druga procedura to tylko option explicit zamiast base1
z ostatnim rozwiązaniem adresowania
u mnie to dla Westa 10s szybciej na korzyść ostatniego adresowania
ale option explicit

2025-02-04 (16:54)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 338
[ CZCIONKA MONOSPACE ]

adresy(L4, 4) - adresy(L5, 5) - adresy(L6, 6) - adresy(L7, 7), 1) = 1
wklejam koniec….
tu jest różnica
i to option explicit

--- wpis edytowano 2025-02-04 16:55 ---

2025-02-04 (16:59)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 340
[ CZCIONKA MONOSPACE ]

Nie wiem czy "poprawiałeś" moją ostatnią wersję. Chyba nie, bo u mnie jest do Case 10, a u Ciebie w Option Explicit deklaracje zmiennych kończą się na 7.

U mnie Case 7 wygląda tak:

Case 7
sprawdzane = "siódemki:"
For y = 1 To zakładów
For x1 = 1 To skreśleń - 6
l1 = zakłady(y, x1)
For x2 = x1 + 1 To skreśleń - 5
l2 = zakłady(y, x2)
For x3 = x2 + 1 To skreśleń - 4
l3 = zakłady(y, x3)
For x4 = x3 + 1 To skreśleń - 3
l4 = zakłady(y, x4)
For x5 = x4 + 1 To skreśleń - 2
l5 = zakłady(y, x5)
For x6 = x5 + 1 To skreśleń - 1
l6 = zakłady(y, x6)
For x7 = x6 + 1 To skreśleń
l7 = zakłady(y, x7)
braki(adresy(l1, 1) - adresy(l2, 2) - adresy(l3, 3) - adresy(l4, 4) - adresy(l5, 5) - adresy(l6, 6) - adresy(l7, 7), 1) = 1
Next
Next
Next
Next
Next
Next
Next
Next

--- wpis edytowano 2025-02-04 17:04 ---

2025-02-04 (17:16)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 22656

1386
wpis nr 1 551 341
[ CZCIONKA MONOSPACE ]

Ja porównałem pierwszą wersję adresowania
z ostatnim pomysłem z else
jaki wstawiłeś na forum
tylko pierwszą wersję z base1
do ostatniego pomysłu ale option explicit
którą Ci podesłałem na maila.

Tyle…
2025-02-04 (21:47)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8686

14865
wpis nr 1 551 390
[ CZCIONKA MONOSPACE ]


777ch>
Jak zadeklarować tablicę jako PUBLIC nie znając jej UBound?
2025-02-04 (23:01)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 5909

16235
wpis nr 1 551 412
[ CZCIONKA MONOSPACE ]

Public Unikaty () As Integer (dla VBA)

potem instrukcja REDIM.

Można dynamicznie zwiększyć tablicę o kolejny element co może być bardziej optymalne

--- wpis edytowano 2025-02-04 23:10 ---

| Dodaj wpis w tym temacie | Spis tematów | Wyniki lottoStrona: 1 2 ... 534 535 536 ... 554 555
Wyślij wiadomość do admina