🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

8 total messages Started by Jacek Marcin Jaworski Sun, 15 Jan 2023 19:27
Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310435
Author: Jacek Marcin Jaworski
Date: Sun, 15 Jan 2023 19:27
182 lines
14266 bytes
Podsumowanie Projektu Liczniki
          autor: Jacek Marcin Jaworski
     pseudonim: Energo Koder
            utworzono: 2022-09-17
      wersja: 167 z dnia: 2023-01-15
                system: Linux (distro: Kubuntu)
               program: LibreOffice
Spis treści
1 Wstęp.................................................................................................................................................................. 3
2 licznik.sh............................................................................................................................................................. 3
3 licznik.py............................................................................................................................................................. 3
4 licznik.d............................................................................................................................................................... 3
5 licznik.c++........................................................................................................................................................... 4
6 Porównanie jakości kodu.................................................................................................................................. 4
7 Porównanie ilości kodu..................................................................................................................................... 5
8 Porównanie wydajności.................................................................................................................................... 5
9 Podsumowanie.................................................................................................................................................. 5
10 2022-12-28:...................................................................................................................................................... 6
1       Wstęp
        Od kiedy zacząłem programować zawsze intrygowało mnie ile linii kodu mają moje programy
oraz ile linii mają programy popularnych projektów o otwartych źródłach. Początkowo prowadziło to
do cudakowania i szacowania ilości linii ze wzoru: objętość plików z kodem w bajtach / 32 znaki.
Wynikało to z obserwacji, że śr. dł. linii w C++ to ok. 32 znaki.

W latach 2004-2022 zrealizowałem projekt energo-liczniki. Taka długotrwałość projektu wynika z jego
rozszerzania z upływem lat. Od razu miałem zamiar zakodować wersje w Baszu i w Pytonie. W ten
sposób chciałem poznać te języki skryptowe. Dodatkowo okazało się, że jest to świetna okazja by
poznać wyrażenia regularne. W 2022r. stwierdziłem, że rozbudowana wersja w Pytonie powinna być
uproszczona, gdyż algorytm skanowania nie był sprawdzony pod względem poprawności. Dodatkowo
mógł on działać poprawnie tylko dla niektórych języków programowania (pochodnych C). W 2022r.
spolonizowałem liczniki w Baszu i Pytonie - wynikało to z logicznego wniosku, że w Polsce należy
myśleć, mówić, pisać i programować po polsku. W 2022r. zaprogramowałem wersję w D i C++ - dają
one takie same wyniki jak wersja w Pytonie. Celem było uzyskanie możliwości porównania tych
najważniejszych dla mnie języków programowania.

Liczniki to programy w j. C++ i D oraz skrypty w j. Basz i Pyton służą one do badania ilości linii w kodach
źródłowych programów. Są to programy konsolowe zwracające wyniki skanowania na konsolę. Wersja
w j. Basz ma prostsze opcje. Wynika to z faktu, że opiera się ona na standardowych programach
konsoli do przetwarzania tekstów. Wersje w Pytonie, D i C++ mają więcej opcji jednak zwracają wyniki
w takim samym formacie co wersja w Baszu.

W dawniejszych czasach używałem systemów Linuks i Windows. Z tamtych dawnych czasów wynikało
ciekawe spostrzeżenie, że wersja Basz działa szybciej na Linuksie, natomiast wersja w Pytonie działała
szybciej na Windowsie. Wyglądało na to, że w Windows funkcje plikowe są b. wolne i b. wolno tworzy
on nowe procesy i wolno je likwiduje. Obecnie jednak używam wyłącznie systemu Linuks i nie jestem w
stanie porównać działania liczników na systemie Windows.



2       licznik.sh
        Jest to skrypt w j. Basz. Jest oparty na standardowych programach konsoli takich jak find i wc.
Jego cechą szczególną jest to, że używa programu parallel do zrównoleglenia skanowania plików
źródłowych. Ciekawe jest to, że na procesorze Intel i7 10510 z 4 podwójnymi rdzeniami użycie parallel
spowalnia skrypt. To bardzo dziwne bo znaczy to, że program parallel jest niewydajny mimo banalnego
zadania jakie wykonuje.



3       licznik.py
        Jest to skrypt w języku Pyton. Działa całkowicie sekwencyjnie.



4       licznik.d
        Jest to program w języku D. Działa całkowicie sekwencyjnie.
5      licznik.c++
       Jest to program w języku C++. Jego cechą szczególną jest zastosowanie mojej biblioteki energo-
protekcja. W jej skład wchodzi klasa Katalog która jest w stanie pobierać listy plików i w wątkach je
klasyfikować wg zadanego wyrażenia regularnego. Została ona użyta w tym programie.



6      Porównanie jakości kodu
                    Rewelacje            Zalety                  Wady                     Partactwa
licznik.sh          + Prostota;          + Dokumenty             - Brak debugera;         - exit 1 nie działa w
                    + parallel:          miejscowe;              - Podatność na           f.;
                    Równoległe           + F. działają tak jak   literówki;               -
                    skanowanie           standardowe             - Proceduralna           Przekomplikowane
                    plików;              programy konsoli;       architektura;            getopt;
                                         + shellcheck            - Brak rozdzielenia      - Archaiczna,
                                                                 deklaracji i definicji   nietypowa składnia
                                                                 f.                       wyr. reg.;
licznik.py          + Składnia oparta    + Standardowa           - Brak rozdzielenia
                    na wcięciach;        składnia wyr. reg.;     deklaracji i definicji
                    + Obiektowość:       + W konst. i dest.      f.;
                    wzorzec wizytator;   działają f. wirt.       - Utrudniona
                    + Wyjątki;                                   nawigacja po
                                                                 kodzie z powodu
                                                                 nie wydzielenia
                                                                 klas do plików;
                                                                 - Brak IDE z
                                                                 debugerem;
licznik.d           + Genialna f.        + Standardowa           - Brak rozdzielenia      Niestandardowe
                    getopt;              składnia wyr. reg.      deklaracji i definicji   operatory do
                    + Obiektowość:       + W konst. i dest.      f.;                      łączenia tablic i
                    wzorzec wizytator.   działają f. wirt.       - Utrudniona             napisów: ~ i ~=;
                                         + Działa                nawigacja po
                                         dziedziczenie           kodzie z powodu
                                         operatorów.             nie wydzielenia
                                                                 klas do plików;
                                                                 - Brak IDE z
                                                                 debugerem;
licznik.c++          + Obiektowość:         + Podział                QRegularExpressio   - W konstruktorach
                     wzorzec wizytator i    programu na pliki        n: Alternatywa      i destruktorach nie
                     jasna architektura;    deklaracji i definicji   kilku wyr. reg.     działają f. wirtualne
                     + Rozdzielnie          klas;                    wymaga              - jednak tylko w
                     deklaracji klas i f.                            niegrupujących      odniesieniu do
                     od ich definicji;                               nawiasów;           obiektu *this1;
                     + Wygodna                                                           - Nie działa
                     kontrola pam.                                                       dziedziczenie
                     sprytnym wsk.                                                       operatorów;
                     QSharedPointer;                                                     - Ręcznie trzeba
                     + Kl. Katalog z                                                     wskazywać f.
                     klasyfikacją ścieżek                                                wstawiane.
                     w wątkach.




7      Porównanie ilości kodu
                                                       Ilość linii
licznik.sh                                                                                                217
licznik.py                                                                                                290
licznik.d                                                                                                 303
licznik.c++                                                                                               627


8      Porównanie wydajności
                                                       Czas skanowania kat. energo-protekcja
licznik.sh [Sekwencyjne skanowanie plików]                                                              0,120
licznik.sh [Równoległe skanowanie plików]                                                               0,316
licznik.py                                                                                              0,114
licznik.d                                                                                               0,359
licznik.c++ [Sekwencyjna klasyfikacja ścieżek]                                                          0,246
licznik.c++ [Równoległa klasyfikacja ścieżek]                                                           0,049


9      Podsumowanie
       Liczniki kodowane w różnych językach ujawniły ich silne i słabe strony.

W programowaniu kluczowa jest zwięzłość kodu i wyrazistość architektury. Okazuje się, że są to
sprzeczne koncepcje. W tym projekcie najczytelniejsza architektura programu w C++ generuje ponad
100% więcej kodu niż równorzędny program w D.

licznik.C++ dostaje skrzydeł, gdy klasyfikuje nazwy plików wyrażeniami regularnymi w wątkach. Na 4
podwójnych rdzeniach daje to przyspieszenie 5x. To daje w standardzie klasa Katalog z mojej bibl.



1   Czyli w zagregowanych obiektach f. wirt. działają normalnie.
energo-protekcja. licznik.C++ można by dodatkowo przyspieszyć skanując pliki źródłowe w wątkach.
Nie koduję tego, bo nie zastosuję tego nigdzie indziej - dlatego szkoda na to czasu.

licznik.py działa najszybciej w śród rozwiązań sekwencyjnych.

licznik.sh w wer. sekwencyjnej działa prawie tak samo szybko jak skrypt w j. Pyton. Gdy w licznik.sh
zastosowałem zrównoleglenie skanowania plików źródłowych odnotowałem ponad 3x dłuższy czas
działania. Sprawa wyjaśniła się w d. 2022-11-19: wtedy okazało się, że konsolowy program parallel jest
skryptem w j. Perl - jasne jest, że użycie j. skryptowego w tym celu to jakiś defekt umysłowy - takich
rzeczy się nie robi. Ponad to ze stron GNU wiem, że nawet w 2022r. dalej się coś grzebie przy tym
skrypcie.



10 2022-12-28:
Wczoraj i dziś pracowałem nad dostosowaniem licznik.C++ do aktualnej wer. mojej bibl. energo-
protekcja.

W licznik.C++ uzupełniłem brakujące opcje -l|--licencja i -w|--wersja .

Ze wszystkich liczników usunąłem opcje -h|--help .

W licznik.C++ włączyłem równoległą klasyfikację plików za pomocą wyr. reg. - To spowodowało 5x
przyspieszenie na 4 podwójnych rdzeniach.

We wszystkich licznikach zmieniłem sposób zliczania linii: teraz zliczają one wyłącznie znaki nowej linii -
wynika to z faktu, że narzędzia konsoli (będące podstawą licznik.sh) nie są w stanie stwierdzić czy w
ostatniej linii są jakieś znaki, czy nie. W celu unifikacji przyjąłem, że nie obsługuję tego w pozostałych
wer. liczników.

Przy okazji ponownie przeprowadziłem testy i uzupełniłem to podsumowanie.

Re: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310436
Author: Jacek Marcin Jaworski
Date: Sun, 15 Jan 2023 19:31
1 lines
1517 bytes
Widzę, że gogle popsuło tabelki, więc zainteresowanym mogę wysłać pdf.
Re: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310437
Author: Przemek Biernat
Date: Wed, 29 Mar 2023 14:25
184 lines
11963 bytes
On Sunday, January 15, 2023 at 8:27:47 PM UTC+1, Jacek Marcin Jaworski wrote:
> Podsumowanie Projektu Liczniki 
> autor: Jacek Marcin Jaworski 
> pseudonim: Energo Koder 
> utworzono: 2022-09-17 
> wersja: 167 z dnia: 2023-01-15 
> system: Linux (distro: Kubuntu) 
> program: LibreOffice 
> Spis treści 
> 1 Wstęp.................................................................................................................................................................. 3 
> 2 licznik.sh............................................................................................................................................................. 3 
> 3 licznik.py............................................................................................................................................................. 3 
> 4 licznik.d............................................................................................................................................................... 3 
> 5 licznik.c++........................................................................................................................................................... 4 
> 6 Porównanie jakości kodu.................................................................................................................................. 4 
> 7 Porównanie ilości kodu..................................................................................................................................... 5 
> 8 Porównanie wydajności.................................................................................................................................... 5 
> 9 Podsumowanie.................................................................................................................................................. 5 
> 10 2022-12-28:...................................................................................................................................................... 6 
> 1 Wstęp 
> Od kiedy zacząłem programować zawsze intrygowało mnie ile linii kodu mają moje programy 
> oraz ile linii mają programy popularnych projektów o otwartych źródłach. Początkowo prowadziło to 
> do cudakowania i szacowania ilości linii ze wzoru: objętość plików z kodem w bajtach / 32 znaki. 
> Wynikało to z obserwacji, że śr. dł. linii w C++ to ok. 32 znaki. 
> 
> W latach 2004-2022 zrealizowałem projekt energo-liczniki. Taka długotrwałość projektu wynika z jego 
> rozszerzania z upływem lat. Od razu miałem zamiar zakodować wersje w Baszu i w Pytonie. W ten 
> sposób chciałem poznać te języki skryptowe. Dodatkowo okazało się, że jest to świetna okazja by 
> poznać wyrażenia regularne. W 2022r. stwierdziłem, że rozbudowana wersja w Pytonie powinna być 
> uproszczona, gdyż algorytm skanowania nie był sprawdzony pod względem poprawności. Dodatkowo 
> mógł on działać poprawnie tylko dla niektórych języków programowania (pochodnych C). W 2022r. 
> spolonizowałem liczniki w Baszu i Pytonie - wynikało to z logicznego wniosku, że w Polsce należy 
> myśleć, mówić, pisać i programować po polsku. W 2022r. zaprogramowałem wersję w D i C++ - dają 
> one takie same wyniki jak wersja w Pytonie. Celem było uzyskanie możliwości porównania tych 
> najważniejszych dla mnie języków programowania. 
> 
> Liczniki to programy w j. C++ i D oraz skrypty w j. Basz i Pyton służą one do badania ilości linii w kodach 
> źródłowych programów. Są to programy konsolowe zwracające wyniki skanowania na konsolę. Wersja 
> w j. Basz ma prostsze opcje. Wynika to z faktu, że opiera się ona na standardowych programach 
> konsoli do przetwarzania tekstów. Wersje w Pytonie, D i C++ mają więcej opcji jednak zwracają wyniki 
> w takim samym formacie co wersja w Baszu. 
> 
> W dawniejszych czasach używałem systemów Linuks i Windows. Z tamtych dawnych czasów wynikało 
> ciekawe spostrzeżenie, że wersja Basz działa szybciej na Linuksie, natomiast wersja w Pytonie działała 
> szybciej na Windowsie. Wyglądało na to, że w Windows funkcje plikowe są b. wolne i b. wolno tworzy 
> on nowe procesy i wolno je likwiduje. Obecnie jednak używam wyłącznie systemu Linuks i nie jestem w 
> stanie porównać działania liczników na systemie Windows. 
> 
> 
> 
> 2 licznik.sh 
> Jest to skrypt w j. Basz. Jest oparty na standardowych programach konsoli takich jak find i wc. 
> Jego cechą szczególną jest to, że używa programu parallel do zrównoleglenia skanowania plików 
> źródłowych. Ciekawe jest to, że na procesorze Intel i7 10510 z 4 podwójnymi rdzeniami użycie parallel 
> spowalnia skrypt. To bardzo dziwne bo znaczy to, że program parallel jest niewydajny mimo banalnego 
> zadania jakie wykonuje. 
> 
> 
> 
> 3 licznik.py 
> Jest to skrypt w języku Pyton. Działa całkowicie sekwencyjnie. 
> 
> 
> 
> 4 licznik.d 
> Jest to program w języku D. Działa całkowicie sekwencyjnie. 
> 5 licznik.c++ 
> Jest to program w języku C++. Jego cechą szczególną jest zastosowanie mojej biblioteki energo- 
> protekcja. W jej skład wchodzi klasa Katalog która jest w stanie pobierać listy plików i w wątkach je 
> klasyfikować wg zadanego wyrażenia regularnego. Została ona użyta w tym programie. 
> 
> 
> 
> 6 Porównanie jakości kodu 
> Rewelacje Zalety Wady Partactwa 
> licznik.sh + Prostota; + Dokumenty - Brak debugera; - exit 1 nie działa w 
> + parallel: miejscowe; - Podatność na f.; 
> Równoległe + F. działają tak jak literówki; - 
> skanowanie standardowe - Proceduralna Przekomplikowane 
> plików; programy konsoli; architektura; getopt; 
> + shellcheck - Brak rozdzielenia - Archaiczna, 
> deklaracji i definicji nietypowa składnia 
> f. wyr. reg.; 
> licznik.py + Składnia oparta + Standardowa - Brak rozdzielenia 
> na wcięciach; składnia wyr. reg.; deklaracji i definicji 
> + Obiektowość: + W konst. i dest. f.; 
> wzorzec wizytator; działają f. wirt. - Utrudniona 
> + Wyjątki; nawigacja po 
> kodzie z powodu 
> nie wydzielenia 
> klas do plików; 
> - Brak IDE z 
> debugerem; 
> licznik.d + Genialna f. + Standardowa - Brak rozdzielenia Niestandardowe 
> getopt; składnia wyr. reg. deklaracji i definicji operatory do 
> + Obiektowość: + W konst. i dest. f.; łączenia tablic i 
> wzorzec wizytator. działają f. wirt. - Utrudniona napisów: ~ i ~=; 
> + Działa nawigacja po 
> dziedziczenie kodzie z powodu 
> operatorów. nie wydzielenia 
> klas do plików; 
> - Brak IDE z 
> debugerem; 
> licznik.c++ + Obiektowość: + Podział QRegularExpressio - W konstruktorach 
> wzorzec wizytator i programu na pliki n: Alternatywa i destruktorach nie 
> jasna architektura; deklaracji i definicji kilku wyr. reg. działają f. wirtualne 
> + Rozdzielnie klas; wymaga - jednak tylko w 
> deklaracji klas i f. niegrupujących odniesieniu do 
> od ich definicji; nawiasów; obiektu *this1; 
> + Wygodna - Nie działa 
> kontrola pam. dziedziczenie 
> sprytnym wsk. operatorów; 
> QSharedPointer; - Ręcznie trzeba 
> + Kl. Katalog z wskazywać f. 
> klasyfikacją ścieżek wstawiane. 
> w wątkach. 
> 
> 
> 
> 
> 7 Porównanie ilości kodu 
> Ilość linii 
> licznik.sh 217 
> licznik.py 290 
> licznik.d 303 
> licznik.c++ 627 
> 
> 
> 8 Porównanie wydajności 
> Czas skanowania kat. energo-protekcja 
> licznik.sh [Sekwencyjne skanowanie plików] 0,120 
> licznik.sh [Równoległe skanowanie plików] 0,316 
> licznik.py 0,114 
> licznik.d 0,359 
> licznik.c++ [Sekwencyjna klasyfikacja ścieżek] 0,246 
> licznik.c++ [Równoległa klasyfikacja ścieżek] 0,049 
> 
> 
> 9 Podsumowanie 
> Liczniki kodowane w różnych językach ujawniły ich silne i słabe strony. 
> 
> W programowaniu kluczowa jest zwięzłość kodu i wyrazistość architektury. Okazuje się, że są to 
> sprzeczne koncepcje. W tym projekcie najczytelniejsza architektura programu w C++ generuje ponad 
> 100% więcej kodu niż równorzędny program w D. 
> 
> licznik.C++ dostaje skrzydeł, gdy klasyfikuje nazwy plików wyrażeniami regularnymi w wątkach. Na 4 
> podwójnych rdzeniach daje to przyspieszenie 5x. To daje w standardzie klasa Katalog z mojej bibl. 
> 
> 
> 
> 1 Czyli w zagregowanych obiektach f. wirt. działają normalnie. 
> energo-protekcja. licznik.C++ można by dodatkowo przyspieszyć skanując pliki źródłowe w wątkach. 
> Nie koduję tego, bo nie zastosuję tego nigdzie indziej - dlatego szkoda na to czasu. 
> 
> licznik.py działa najszybciej w śród rozwiązań sekwencyjnych. 
> 
> licznik.sh w wer. sekwencyjnej działa prawie tak samo szybko jak skrypt w j. Pyton. Gdy w licznik.sh 
> zastosowałem zrównoleglenie skanowania plików źródłowych odnotowałem ponad 3x dłuższy czas 
> działania. Sprawa wyjaśniła się w d. 2022-11-19: wtedy okazało się, że konsolowy program parallel jest 
> skryptem w j. Perl - jasne jest, że użycie j. skryptowego w tym celu to jakiś defekt umysłowy - takich 
> rzeczy się nie robi. Ponad to ze stron GNU wiem, że nawet w 2022r. dalej się coś grzebie przy tym 
> skrypcie. 
> 
> 
> 
> 10 2022-12-28: 
> Wczoraj i dziś pracowałem nad dostosowaniem licznik.C++ do aktualnej wer. mojej bibl. energo- 
> protekcja. 
> 
> W licznik.C++ uzupełniłem brakujące opcje -l|--licencja i -w|--wersja . 
> 
> Ze wszystkich liczników usunąłem opcje -h|--help . 
> 
> W licznik.C++ włączyłem równoległą klasyfikację plików za pomocą wyr. reg. - To spowodowało 5x 
> przyspieszenie na 4 podwójnych rdzeniach. 
> 
> We wszystkich licznikach zmieniłem sposób zliczania linii: teraz zliczają one wyłącznie znaki nowej linii - 
> wynika to z faktu, że narzędzia konsoli (będące podstawą licznik.sh) nie są w stanie stwierdzić czy w 
> ostatniej linii są jakieś znaki, czy nie. W celu unifikacji przyjąłem, że nie obsługuję tego w pozostałych 
> wer. liczników. 
> 
> Przy okazji ponownie przeprowadziłem testy i uzupełniłem to podsumowanie.

Sorry za ignorancje, ale problem o którym piszesz jest trywialny do rozwiązania w C++. Jedynie jeżeli chciałbyś to wielowątkowo napisać to może pojawiłaby się jakaś trudność ale też nie bardzo bo nie ma synchronizacji wątków. Pisałem tutaj kiedyś prosty program do zliczania znaków, myślę że dla linii byłoby jeszcze prościej.
Re: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310441
Author: Maciek Godek
Date: Sun, 02 Apr 2023 19:57
5 lines
1609 bytes
> Od kiedy zacząłem programować zawsze intrygowało mnie ile linii kodu mają moje programy 

Ja zawsze sobie piszę w bashu np.

$ find ./ -name '*.c' -or -name '*.h' |xargs wc -l
Re: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310438
Author: Jacek Marcin Jaworski
Date: Sun, 02 Apr 2023 21:46
9 lines
2133 bytes
> > Przy okazji ponownie przeprowadziłem testy i uzupełniłem to podsumowanie.
> Sorry za ignorancje, ale problem o którym piszesz jest trywialny do rozwiązania w C++.

A co myślałeś, że napiszę tu OS żeby prównać te j. prog.?
Takie rzeczy robią w Ameryce najbogatrze firmy zrobjeniowe. Np. w 2005r. Lockhed Martin zaczał od zera kodowanie oprogramowania nowego myśliwca F-35 w C++, ot tak by pokazać, że też się da. Bo wcześniej tłukli cały kod w Adzie.

> Jedynie jeżeli chciałbyś to wielowątkowo napisać to może pojawiłaby się jakaś trudność ale też nie bardzo bo nie ma synchronizacji wątków.

A co za problem synchronizować wątki?
Re: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310442
Author: Jacek Marcin Jaworski
Date: Sun, 02 Apr 2023 21:48
21 lines
2769 bytes
niedziela, 2 kwietnia 2023 o 21:57:13 UTC+2 Maciek Godek napisał(a):
> > Od kiedy zacząłem programować zawsze intrygowało mnie ile linii kodu mają moje programy
> Ja zawsze sobie piszę w bashu np. 
> 
> $ find ./ -name '*.c' -or -name '*.h' |xargs wc -l

Odpowiem tak:
licznik.sh -p
licznik.sh zlicza ilość lini w kodach źródłowych.
licznik.sh [-p][-w] [-l] [-f] [-c] [--cicho] [--wlacz WŁĄCZ] [--pomin POMIŃ] [--bezRekurencji] [KAT ...]
   -p, --pomoc         Ta pomoc;
   -w, --wersja        Wersja;
   -l, --licencja      Informacja o licencji;
   -f, --filtry        Wypisuje wszystkie filtry;
   -c, --czysc         Czyści filtry i listę katalgów;
   --cicho             Wypisuje jedynie podsumowanie;
   --wlacz WŁĄCZ       Dodaje wzorzec pliku WŁĄCZ (może być ich wiele roz. przecinkiem). Przykład: rezultat opcji -f;
   --pomin POMIŃ       Pomija wzorzec pliku POMIŃ (może być ich wiele roz. przecinkiem). Przykład: rezultat opcji -f;
   -b, --bezRekurencji Bez rekurencji;
   KAT                 Katalog do zliczania (może być ich wiele roz. spacją). Domyślnie jest to kat. bieżący.
   UWAGA: Aby srkypty Basza działały z napisami z wykrzykinikami w nazwach w /home/jacek-marcin/.bashrc nalezy dodać 'set +H'.
Re: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310439
Author: Przemek Biernat
Date: Mon, 03 Apr 2023 18:54
9 lines
2493 bytes
On Sunday, April 2, 2023 at 11:46:45 PM UTC+2, Jacek Marcin Jaworski wrote:
> > > Przy okazji ponownie przeprowadziłem testy i uzupełniłem to podsumowanie. 
> > Sorry za ignorancje, ale problem o którym piszesz jest trywialny do rozwiązania w C++.
> A co myślałeś, że napiszę tu OS żeby prównać te j. prog.? 
> Takie rzeczy robią w Ameryce najbogatrze firmy zrobjeniowe. Np. w 2005r. Lockhed Martin zaczał od zera kodowanie oprogramowania nowego myśliwca F-35 w C++, ot tak by pokazać, że też się da. Bo wcześniej tłukli cały kod w Adzie.
> > Jedynie jeżeli chciałbyś to wielowątkowo napisać to może pojawiłaby się jakaś trudność ale też nie bardzo bo nie ma synchronizacji wątków.
> A co za problem synchronizować wątki?

Nie myślałem o OS, próbuje jakoś rozruszać tą grupę. W synchroznizacji w wątków nie byłoby problemu. Pisałem to i owo od zera bez STL i boost.
OT: było: Podsumowanie Projektu Liczniki - programowanie i wydajność różnych j. prog.
#310440
Author: Tomasz Kaczanowski
Date: Tue, 04 Apr 2023 05:56
8 lines
1517 bytes
W dniu 03-04-2023 o 20:54, Przemek Biernat napisał:
> Nie myślałem o OS, próbuje jakoś rozruszać tą grupę. 

Z tym może być problem, coraz mniej serwerów działa, więc dostęp jest 
coraz bardziej ograniczany...

-- 
https://kaczus.ppa.pl/art/promocja-ksiazek,28.html
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads