PDA

View Full Version : [C++] hashmap e altri.


tglman
07-06-2007, 11:11
Allora la domanda è semplice in c++ c'è STL (Standard Template Libary) che fornisce i templete per map list ecc ecc.

La cosa che mi spaventa e che Queste implementazioni lasciano un pò a desiderare a livello di performance....

ed un uso massiccio potrebbe rallentare moltissimo un programma ....

vorrei sapere se esiste una libreria abbastanza standard che mi sovrascrive in qualche modo STL con implementazioni un pochino piu veloci tipo un'hashmap?

tomminno
07-06-2007, 17:05
Allora la domanda è semplice in c++ c'è STL (Standard Template Libary) che fornisce i templete per map list ecc ecc.

La cosa che mi spaventa e che Queste implementazioni lasciano un pò a desiderare a livello di performance....

ed un uso massiccio potrebbe rallentare moltissimo un programma ....

vorrei sapere se esiste una libreria abbastanza standard che mi sovrascrive in qualche modo STL con implementazioni un pochino piu veloci tipo un'hashmap?

:confused:
Da dove hai preso questi dati sulle performance scadenti delle STL?
E se è scadente l'STL allora Java e C# sono pachidermi addormentati.

Se vuoi puoi scriverti qualcosa di più veloce direttamente in assembly.

tglman
10-06-2007, 14:12
Scusatemi probabilmente mi sono espresso un pò male ..... nn dico che il c++ sia lento anzi nn mi azzerderei mai (lo dimostra che per lavoro uso java e per fare softwerini per me solo c/c++).

Intendevo dire che per esempio in java ci sono delle implementazioni di mappe molto efficenti...... per esempio con una mappa di 1.000.000 elementi, se io vado a fare una ricerca di un x elemento, nonostante le performance del c++, probabilmente una HashMap java fa prima...

esistono implementazioni estreme di questo tipo in c++ ??

marco.r
10-06-2007, 14:57
per esempio con una mappa di 1.000.000 elementi, se io vado a fare una ricerca di un x elemento, nonostante le performance del c++, probabilmente una HashMap java fa prima...

esistono implementazioni estreme di questo tipo in c++ ??
Non capisco se hai fatto le prove o stia andando per supposizioni :confused:
Qualora tu le abbia fatte, e ti risulta evidente la differenza di performance, l'unica cosa che mi viene in mente e' che la map<> di C++ e' basata su RB-tree; non so se sia standard ma molte implementazioni della stl forniscono anche una hashmap<> vera e propria. Prova ad usare quella.