Visualizzazione dei risultati da 1 a 10 su 130

Discussione: OT Programmazione 2014

Visualizzazione discussione

  1. #10
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Tecnologia pervasiva, ma ho parlato in sostanza della società disinformata, non preparata alla tecnologia che si forma idee scorrette su alcuni argomenti e si espone a rischi inconsapevoli.
    Boh, non mi sembra fuori tema, era molto aperto come titolo.
    Non preoccuparti, succede in molti linguaggi: spesso le operazioni con le stringhe vengono sottovalutate, e pensa che sei fortunato che in C++ sono mutabili, in molti linguaggi sono immutabili e non ti dico che può venirne fuori in mani inconsapevoli. Il fatto è che pochi se ne rendono conto purtroppo.
    Era quello che dicevo ad un mio collega, ma secondo lui invece con le stringhe immutabili si possono fare diverse ottimizzazioni per casi come questo (tipo: substr potrebbe restituire semplicemente una slice - il puntatore punta a metà della stringa "originale" e il count viene adattato).
    D'altra parte, nulla impedirebbe di farlo anche con stringhe modificabili in copy-on-write, anche se in C++ ci sono un po' di ostacoli ad implementarlo per substr (ad esempio, se non erro c_str() deve eseguire in tempo costante, e questo non è possibile senza allocare una nuova stringa nel caso di slice), e in generale anche le implementazioni che usavano il copy-on-write si sono convertite alla "short string optimization" perché con i constraint imposti dallo standard per il multithreading la cosa diventava più complicata.
    Ma lui è gentile: ti pre-carica un sacco di roba che non userai ma dovrai consumare lo stesso solo per migliorare le prestazioni
    Sei TU che vanifichi I SUOI SFORZI scrivendo quella brutta roba complicata u.u
    Potevi fare a meno di scriverla!


    Seriamente: tutte le varie cache, branch prediction, esecuzione speculativa & co. sono delle figate clamorose a livello di speedup, ma introducono una quantità di "stato nascosto" spesso difficile da dominare a priori. Lascia un po' atterriti come ormai l'unico modo sicuro per sapere se del codice gira veloce è fare profiling, visto che gli effetti per così dire "non classici" dei processori attuali spesso determinano miglioramenti o peggioramenti in velocità di diversi ordini di grandezza.

    Related:
    http://blogs.msdn.com/b/oldnewthing/.../10533875.aspx
    http://stackoverflow.com/q/11227809/214671
    Ultima modifica di MItaly; 21-06-2014 a 12:57
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.