Jeśli zachodzi potrzeba takiej optymalizacji to chyba czas najwyższy zmienić procesor na lepszy :-) Wydaje mi się, że wpadasz w płapkę permanentnej optymalizacji. A tak teoretycznie to w najgorszym przypadku (len = 64k) Wersja 1: 32k powtórzeń pętli, 64k porównań, 32k przesunięć, 128k dodawań Wersja 2: 32k obiegów pętli 1, 32k porównań, 32k przesunięć,...
No to jeśli user wprowadzi wartość to aplikacja powinna wrócić do wyświetlenia tych trzech opcji co są na początku. A co do mojego kodu to oczywiste jest że trzeba podać rozmiar tablicy, ja nie wiem jakiej wielkości potrzebujesz więc zostawiłem puste. A co do funkcji jak ona działa to: http://www.cplusplus.com/reference/cstdi...
Widzę że nikt się nie pali do pomocy, to może ja coś pomogę. Mam dość szybki kod do SD. Jeżeli SD też może być to pomogę. Mogę też rzucić procedurami zapisu i odczytu bloków danych. One w SD i MMC są identyczne (chyba). To jest taka TurboOptymalizacja wysyłania/odbierania po SPI. Odczyt chyba jest blok 512B/1ms.
Czy jest to w ogóle możliwe gdy napisze się ją w assemblerze? Aktualnie zajmuje ona ok. 15ms. O ile może się skrócić? Jeśli dobrze operujesz assmeblerem, to pewnie się trochę skróci. Generalnie sprawa wygląda wg mnie tak, że można napisać jeden z 4 kodów: - kiepski kod w C, - kiepski kod w assemblerze, - dobry kod w C, - dobry kod w assemblerze. Porównując...
Nie wgłebiajac sie w kod moze zamiast LSR daj LSL i po sprawie. Nie ma '8' bitu chyba.
To zobasz w w pliku ls albo jak robisz w atmel studio to podejrzyj w disassembly co Ci sie wykompilowało i zrozumiesz jaki jest problem
Moim zdaniem wywalenie static na stałe jest najlepszym rozwiązaniem. Ta "lepsza optymalizacja" w tym wypadku to proszenie się o kłopoty i nic w zamian. Natomiast zostałbym przy tablicy funkcji ze względu na elastyczność/uniwersalność/łatwość modyfikacji rozwiązania, nawet kosztem narzutu na wydajność. Albert
Pytania, jakie postawiłem Autorowi wątku nie miały charakteru testowego, a miały skierować jego myślenie na pewne tory. Jak widać jak zwykle mi się nie udało. Autorze, bez podjęcia prób odpowiedzi na te pytania nie będziesz w stanie zaprojektować nic sensownego. Piotruś: gdyby procesor miał priorytet, żadna transmisja DMA nie doszłaby do skutku. ;)...
Takie małe dopełnienie do postu wyżej. Tu masz dokładniej opisane za co odpowiada konkretna usługa http://www.searchengines.pl/phpbb203/ind...
Z tego co wiem występują wersje Inkbook_classic_20151017-1.0.0 Inkbook_classic_20160222-1.0.0 Instrukcja: Aby poprawnie wykonać manualną instalację aktualizacji postępuj zgodnie z poniższą instrukcją. 1. Zainstaluj aktualizację (update) Kliknij w przycisk „Pobierz update”, aby pobrać plik aktualizacji update.img (Inkbook_classic_20160222-1.0.0)....
Może nie tyle sprawdzanie co odwołanie się do funkcji "MyHandleNoteOn(3,127,127);"
dzienniki zmian SDK 2.0 i SDK 1.3.7 mają tę samą funkcjonalność. (646/143) 1. Dodano przepływ sterowania daemon_thread. 2. Domyślnie metoda connect jest blokująca. Aby użyć metody nieblokującej, włącz makro NO_BLOCK w rda59xx_daemon.c. 2017-02-11 V1.3.6(534) 1. Naprawiono błąd w pwm i dodano funkcje kontrolne dla pwl0 i pwl1. Zobacz przypadek testowy:...
Jeśli dana funkcja się kilka razy, to zwykle nie zwraca się na optymalizację kodu, a jeśli okazuje się, że wykonuje się to wiele razy, wtedy zaczyna mieć spore znaczenie. Optymalizacja algorytmów to przydatne zagadnienie ;)
Oraz jak dobrać grzałkę do paneli - jakaś tabela może, czy coś? Własnie tabelka powstaje na podstawie datasheet, kilka minut roboty w excelu. Wrzuciłem u Mavericka nowe wyliczenia. Dodano po 1 Wiesz dlaczego daje tu swoje dane z działania PV? Nie dlatego, że autor tematu jest zadowolony ze swojego systemu ale dlatego, że jak tylko może umniejsza zasadność...
jak napisać program w arduino powodujący miganie diody 10 razy a następnie kończący działanie? Wstępna ocena dostępnych informacji Przeanalizowałem Twoje pytanie dotyczące napisania programu w Arduino, który spowoduje miganie diody 10 razy, a następnie zakończy działanie. Celem jest stworzenie programu sterującego diodą LED, który wykona określoną...
Aby sprawdzić czy optymalizacja zmieniła kod uruchom debugowanie w AVR Studio i zobacz podgląd kodu assemblera poprzez menu View/Disassembler.
Ten szereg zmiennych typu String w kodzie z postu #4 jest zbędny, skoro odpowiednie odczyty z digitalRead() są składane w łańcuch tekstowy dopiero w zmiennej 'ciag_wyjsciowy'. Wystarczy użyć operatora +=(int) np.: concat (): [syntax=c]x.concat(digitalRead(...));[/s... https://github.com/arduino/ArduinoCore-a...
przy debugowaniu, warto zmniejszyć poziom optymalizacji, nawet do -O0 Ogólnie doczytałem, że masz rację. (ciekawy artykuł znalazłem np. tu: Ciekawie się zapowiada. Korzystam z Atollic TrueStudio (oparty na Eclipse). Jak zmniejszyć poziom optymalizacji? Bo chyba się jeszcze w tym gubię ;) Właściwości Projektu->Settings->Tool Settings->MCU GCC Compiler->Optimization->Optimization...
Przede wszystkim zastosuj kilka tricków - nie rysuj całości. Wyznacz sobie tarczę i odświeżaj wyłącznie tarczę - czyli zamaluj elipsą rysuj kreski, zamaluj elipsa, rysuj kreski - reszta napisów jako będąca poza tarcza zostaje bez zmian. Kolejna sprawa to rysowanie na formie - szczerze mnie odrzuca na samą myśl, ale powiedzmy że to walor edukacyjny -...
Funkcje statyczne mogą zostać włączone do ciała funkcji które je wywołują, ponieważ nie ma potrzeby aby były koniecznie samodzielnym blokiem kodu. Czysta optymalizacja Pozatym nazwa dowolnego obiektu statycznego może zostać przesłonięta w dowolnym miejscu kodu (oczywiście nie tam gdzie funkcja statyczna jest widziana) i nie ma w tym żadnego problemu...
Kol. JacekCz podpowiedział Ci również aby użyć funkcji itoa() - ona powinna być bardzie efektywna niż sprintf (co ja również pod koniec stwierdziłem) Oczywiście mam na myśli objętość tej funkcji w pamięci flash. Sprawdź teraz (gdy nadal masz sprintf) po kompilacji - zapewne niewiele mniej miejsca to wszystko zajmuje. Na obrazku masz podkreślone bloki,...
Zgodnie z warunkami w programie po zakończeniu procedury rozpalania idzie procedura gaszenia i tak w kółko jeśli ktoś zasłania czujnik. Musisz dorobić warunek który rozpocznie inicjowanie procedur dopiero jak zaistnieją po sobie dwa warunki: 1: zasłonięcie czujnika , 2: odsłonięcie. Czyli trzeba wprowadzić dodatkową zmienną np. [syntax=c]bool on_barrier_up=false;...
miałem podobny problem (z tym że nie na '51 a na procku sygnałowym). Wyjściem okazała się metoda tablicowa. Nie potrzebowałem dużej dokładności konwersji float->fixed więc brałem sam wykładnik liczby zmiennoprzecinkowej do indeksowania tablicy z wartościami stałoprzecinkowymi. Możesz spróbować tej metody i dopasować ją do swoich potrzeb - jest to chyba...
Podziwiam Cię - 750 linijek kodu upchane w jednej funkcji main(), napracowałeś się, ale ja tego bym nie chciał analizować;] Boże, widzisz i nie grzmisz... :cry: * Brak formatowania kodu * Wszystkie nazwy zmiennych jedno bądź dwuliterowe * Instrukcje skoku goto (!) I jak tu się dziwić, że niektórzy nazywają C "wysokopoziomowym asemblerem"... Dawno takiego...
(...)Mam jednak pytanie, czy można to zrobić w jakiś inny sposób, aby zmiana tempa zależała tylko od zmiennej speed ? Ten sposób jest jak najbardziej odpowiedni. Mam tu następujące sugestie: - poprawić dokładność ustawiania tempa poprzez zwiększenie częstotliwości przerwań (ustawienie preskalera na 1), - przeliczać zadaną wartość tempa w bpm na wartość...
A jak daję w f_read & przed zmienną to nic nie zmienia? Zastanów się nad tym sam... Funkcji każesz odczytać 480 bajtów. Gdzie ona je niby ma zapisać, skoro podajesz jej adres zmiennej o rozmiarze 2 bajty? To że wpisujesz tam '&' nie sprawia że nagle zmienna uint16_t staje się workiem bez dna... 4\/3!!
komendy mozna zastapic tokenami, ktore sa indeksami do tablicy zawierajacej adres funkcji realizujacej dana komende. Czyli pobierasz token (np. 8-bitowy, jesli komend jest mniej niz 256), odczytujesz adres funkcji z tablicy pod tym indeksem i ja wywolujesz. Dzieki temu nic nie musisz sprawdzac, a kazda komenda jest wykonywana z takim samym opoznieniem....
Pamięć wewnętrzna 2KB - 1514B na ramkę, reszta na stos. Sekcję data, bss oraz opcjonalną stertę wyrzucić do zewnętrznego ramu, chociaż nie wiem na czym niby polega trudność w rzutowaniu wskaźnika - pamięć i wewnętrzna i zewnętrzna są dostępne w dokładnie ten sam sposób. Co do odczytywania przy odbiorze i składania przy nadawaniu można wykorzystać dwie...
Dodam ze pod avrgcc nie odpala bo on nie rozumie czym jest __flash. Avrstudio oferuje o wiele lepsze mozliwosci. AVR Studio też raczej "nie rozumie". Chodziło Ci chyba raczej o Atmel Studio, ale tak naprawdę to nie kwestia samego Atmel Studio (to tylko IDE - środowisko programistyczne), lecz atmelowskiego toolchaina, który w zasadzie jest oparty na...
:arrow: marek003 UsedRange liczy tylko używane wiersze. Czyli: jeśli wpiszesz coś (wartość, formułę) tylko w A4 (a reszta arkusza jest pusta) to UsedRange.Rows.Count=1 Żeby nie było nieporozumień - nie chciałem żebyś przeze mnie zmieniał kod. Ja tylko wtrąciłem tak na marginesie jeden powiedzmy bug funkcji UsedRange.Rows.Count który w niektórych przypadkach...
Hmm... tutaj wyraźnie mają formuły tablicowej, to na pewno czekamy na Pana profesora Macieja...
EDIT 666: w ciul Technicznie i fachowo. ;) (at)JanekSokół Wykonaj tą "ścieżkę zdrowia" i sprawdź. Wiadomo, przy SSD masz tak wysoką wydajność, że tak naprawdę najwięcej zyskasz w kwestii żywotności tego dysku SSD, który w porównaniu do HDD nie lubi częstych zapisów i odczytów na okrągło w małych odstępach czasu. Część podanych funkcji przez zwiększoną...
Serial to jakieś 30% całości. W tym momencie program jest za duży o jakieś 7% (~300 bajtów). Do tego celu używam kona arduino Blue pro micro ( odczytywane przez kompilator jako leonardo ). Problem w tym, że to nie koniec rozbudowy programy, a jedynie początek Czyli wstępnie, jak już nadmieniono, sprzęt za słaby do zadania. Ale możesz się pobawić np...
W pierwszym przypadku w celu jak największej dokładności czasu opóźnienia jest wyliczana liczba przebiegów wewnętrznej pętli (która wykonuje się w 3 lub 4 cyklach, zależnie od tego, czy licznik może mieć 1 bajt, czy musi mieć 2 bajty) - te obliczenia są wykonywane na liczbach zmiennoprzecinkowych. Co do drugiego kodu, nie jest on funkcjonalnie taki...
- czy opcja komfort CWU ma rację bytu bez zasobnika? - co daje włączenie opcji komfort CWU (jakie negatywne skutki; czy będzie to zwiekszone zużycie gazu, czy szybsze zużywanie sie palnika; skoro jest opcja włącz/wyłącz to raczej są jakieś negatywne skutki o których zapomniano wspomnieć w instrukcji) Opcja komfort CWU występuje tylko w kotłach dwufunkcyjnych....
jesli pojecie 'slack' jeszcze sie nie wyjasnilo, to nieco w uproszczeniu jest to roznica miedzy okresem zegara a propagacja sygnalu zapisywanego tym zegarem, jesli dana propaguje sie 12ns a okres zegara to 10ns, slack = -2 czyli dane przychodza o 2 ns za pozno, dodatni slack to informacja, ile wynosi 'margines bezpieczenstwa'; 'fanout' to liczba okreslajaca...
Zakładając, że mam w tablicy nieznormalizowane moduły DFT (widmo amplitudowe) wyznaczone w/g wzoru: v[x][y]=sqrt(pow(... 2.0)+pow(Im[x][y]... 2.0)); Nie licz kwadratów za pomocą pow(), nie dość że wolne, to jeszcze mnie j dokładne, a optymalizacja tego nie uprości. v[x][y]=sqrt(Re[...
To w końcu jak "zabijać dysk" - szybko czy powoli? Jak już mieszacie do tego bezpieczeństwo danych, to czemu nie polecacie wyłączenia funkcji TRIM? Po wyłączeniu funkcji TRIM zapisy na dysku się zwiększą? Optymalizacja dysku jest powiązana z funkcją TRIM? I pytanie tylko do (at)dt1 Jakie programy działają w tle po uruchomieniu "Dogłębnego czyszczenia"...
http://obrazki.elektroda.net/56_12738577... Witam serdecznie! Trochę dawno zajmowałem się obsługą drukarek na LPT poprzez mikrokontrolery. Wtedy też stworzyłem w BASCOM BASIC'u program, dzięki któremu możliwe jest bezpośrednie drukowanie tekstu z klawiatury podpiętej do układu na złączu PS2. Drukarka: . . . . . . . . . . . . . . . . . . ....
Witam wszystkich forumowiczow. Mam nadzieje, ze temat jeat nowy. Czy ktos posiada instrukcje obslugi wzmacniacza Nad T758 w jezyku polskim? Lub potrafi wytlumaczyc srednio zaawansowane ustawienia aby przyzwoicie korzystac z funkcji tego sprzetu? Menu jest tak rozbudowane, ze nie ogarniam. Prosze o pomoc Z gory dziekuje i pozdrawiam
Czy aby twoim problemem nie jest wywolanie zewnętrznej funkcji niezgodnej z c, a nie optymalizacja kodu przez gcc?
Kilka pytań o optymalizację Wordpressa. 1.Cache – mam włączony Redis ale podobno powinna być jeszcze jakaś wtyczka których jest sporo. Niektóre maja kilka funkcji i nie wiem czy się nawzajem nie wykluczają. 2.Zdjęcia – miałem wtyczkę do optymalizacji zdjęć, dołożyłem zmianę na webp. Teraz niby wszystko działa ale jak klikam w zdjęcie to się otwiera...
Jakby było zainteresowanie Schemat chciał bym zobaczyć. Najciekawszy projekt jaki ostatnio widziałem to nota TI SNOA692, ciekawy bo dopracowany pod względem szybkości działania regulatorów Ja to bym kompensację ustawił tak żeby przejście przez zero dB było w zakresie 10-100kHz (dobrałem R2,C4, R3) zmieniłem R4 bo odłączanie tranzystora końcowego przy...
co to robi: int foo(uint32_t a) { a = a ^ (a >> 16); a = a ^ (a >> 8); a = a ^ (a >> 4); a = a ^ (a >> 2); a = a ^ (a >> 1); return a & 1; } Wstępna ocena dostępnych informacji Przedstawiony kod to funkcja `foo`, która przyjmuje jako argument 32-bitową liczbę bez znaku `a` (`uint32_t`). Funkcja wykonuje szereg operacji bitowych na tej liczbie i zwraca...
Rozważam programowanie „po rejestrach”, bez gotowych abstrakcji. Czy warto zaczynać od bibliotek HAL/LPL, czy od razu ręcznie konfigurować rejestry? Moim osobistym zdaniem, jest tu pewne błędne założenie. HAL i LL wcale nie wyklucza podejścia "rejestrowego" kiedy to staje się niezbędne, np. optymalizacja prędkości, czy jakieś szczególne potrzeby. Ale...
Dotarło do mnie, że ewolucyjny proces treningu promuje właśnie te zbiory wag w sieci neuronowej, które są zoptymalizowane właśnie pod kątem przetrwania procesu treningu . Skąd taki wniosek tzn. o tym przetrwaniu? Z tego co mi wiadomo, proces treningu ANN promuje te konfiguracje wag, które minimalizują funkcję straty, czyli model jest optymalizowany...
Udało się zoptymalizować kod. Wygląda lepiej niż pointy do funkcji Obsługa znaków z bluetooth też wygląda lepiej. #define F_CPU 7372800L #define USART_BAUDRATE 9600 #define BAUD_PRESCALE ((F_CPU / (USART_BAUDRATE * 16UL)) - 1) #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <string.h>...
Nie ma nic za darmo, a dodatkowo nic Ci z tego magazynu jak prądu w sieci zabraknie... Wiem dlatego w cudzysłowie. Prądu i tak zimą brakuje, energetyka płaci za kW grosze, a przy zakupie jak za złoto - więc jeśli można ich ssać to czemu nie - póki jest możliwość. Co do magazynu i braku prądu - przypomnę ze hybrydy mogą mieć oddzielne wyjście rezerwowe...
przed gc-sections mają być DWA myślniki! To ważne. Jak jest u mnie - nie powiem Ci, bo używam Eclipse'a, a Ty pewnie AVR Studio. Zawsze możesz spróbować dopisać "-Wl,--gc-sections" - może wystarczy [; 4\/3!!
Ok, tutaj są moje bazgroły na "szybcika" , ot taka radosna twórczość. Ja;Kod arduino uno do optymalizacji i usunięcia ewentualnych błedów: #include <FastLED.h> #define LED_PIN 2 #define NUM_LEDS 30 #define SPARKLE_INTERVAL 100 // Czas odświeżania iskrzenia (ms) #define FADE_AMOUNT 50 // Ilość przyciemnienia #define BASE_BRIGHTNESS 50 // Jeszcze...
stm32 optymalizacja jednej funkcji optymalizacja laptop optymalizacja internetu
combo basowy głośnik lampka sharan piecyk junkers
brumienie laptop wzmacniacz tda2003
Candy pralka – czerwony symbol odważnika na wyświetlaczu: przyczyny, modele, diagnostyka Jak rozłożyć parownicę Philips 7000 Series?