Wpis z mikrobloga

  • 1
#programowanie #ksiazki #kursy #cpp

Mirki, co polecacie dla kogoś, kto umie programować, zna podstawy algorytmiki, design patterny etc. etc. ale nie ma zbyt dobrych nawyków programistycznych, nie programował duzo w c++, a potrzebuję pisać jak najwydajniejszy kod w c++ i chce nauczyć się tego języka na trochę głębszym poziomie niż "jestem świadomy wskaźników i referencji"?
  • 31
  • Odpowiedz
najmniejsze wykorzystanie cpu i ramu przy wielu operacjach


@MilionoweMultikonto: W bardzo dużym uproszczeniu, to się raczej wyklucza. Albo liczysz coś raz i potem trzymasz w ramie, albo liczysz to samo wiele razy.

Ogólnie profiler Twoim przyjacielem. W ciemno za bardzo nie ma co zgadywać. Pamiętaj, premature optimization root of all evil. Mega dużo zależy od tego co potrafi Twój kompilator oraz Twoje architektura sprzętowa. Możesz poczytać sobie o cache i
  • Odpowiedz
W bardzo dużym uproszczeniu, to się raczej wyklucza


@groman43: w c++ masz mnóstwo sztuczek służących ku temu, jak np. move semantics, universal references, w innych językach ludzie nie mają świadomości, że w ogóle coś takiego istnieje
  • Odpowiedz
No właśnie mniej ramu to mniejsze wykorzystanie cpu.


@Malkof: Rozwiń to proszę, ponieważ przyznam że nie bardzo rozumiem co masz na myśli.
@steppenwolf90: Sztuczki sztuczkami, ale gdzieś trzeba to zapamiętać, albo liczyć kilkakrotnie w różnych miejscach.

@KosmicznyKotZNapedemAtomowym: O Pani, ale teraz puszkę Pandory otworzyłaś. Telco to moje życie ( ͡° ͜ʖ ͡°)
Jeśli nie piszesz czegoś związanego z warstwą fizyczną lub w
  • Odpowiedz
@Malkof: @FocentDiutt: To są wszystko dość duże uproszczenia. Jestem w stanie wyobrazić sobie sytuacje, gdzie soft na starcie oblicza mnóstwo różnych rzeczy, pakuje je do ramu a potem korzysta z nich kiedy to jest potrzebne. Jeśli koszt policzenia tego jest większy niż koszt cache missa to wciąż opłaca się coś takiego zrobić. Oczywiście to co mówię teraz to również jest uproszczenie. Wszystko trzeba w praktyce sprawdzić za pomocą
  • Odpowiedz