Je suppose que les appels provenant de threads distincts (> 15) ont un effet négatif sur les performances. Y a-t-il une meilleure façon d'obtenir l'heure du système dans les applications concurrentes?Goulot d'étranglement des performances dans les appels simultanés à System.currentTimeInMillis()
Répondre
Juste un petit conseil:
J'ai lu des ingénieurs de Google et d'autres programmeurs qu'il est préférable d'utiliser System.nanoTime. Par exemple joshua bloch
Pour la synchronisation d'intervalle, utilisez toujours System.nanoTime de préférence à System.currentTimeMillis
Ne répond pas à la question. En outre, même en fonction de votre devis, System.nanoTime est préféré pour la synchronisation d'intervalle, il n'y a aucune mention de ce que l'OP utilise l'heure du système pour. La synchronisation d'intervalle peut ne pas être applicable ici. –
Peut-être que cela ne répond pas directement à la question, mais je pense que d'autres personnes ont déjà répondu à la question, alors je ne faisais que donner un pourboire. – Alfred
http://www.techper.net/2008/08/10/systemcurrenttimemillis-systemnanotime-and-their-resolution/ timeinMillis a des problèmes avec la granularité de MS Windows –
Si c'est vraiment un problème, vous pouvez avoir un thread de fond stocker l'heure actuelle dans un volatile
. Ou appelez-le moins souvent.
+1 - il y a certainement quelque chose d'un peu bizarre dans une application qui doit faire des appels fréquents à 'System.currentTimeMillis'. –
- 1. Appels simultanés de CDR
- 2. DataView.Sort est un goulot d'étranglement des performances
- 3. Goulot d'étranglement des performances du socket Java: où?
- 4. PowerShell: Performances des appels de méthodes .NET
- 5. AsyncPostBackTrigger ne fonctionne pas avec les appels de mise à jour simultanés
- 6. Plusieurs appels WCF simultanés d'un client unique au service
- 7. Expédier des projets simultanés dans fogbugz
- 8. ASP.NET Ajax PageMethods simultanés
- 9. Gestion des exceptions dans les appels Ajax
- 10. Gestion des erreurs dans les appels getJSON
- 11. Suivi des performances dans C#
- 12. Compter les appels à eval
- 13. Réglage des performances dans l'application Cocoa
- 14. Améliorer les performances des méthodes
- 15. Trouver des appels de méthode lents/inefficaces dans dotnet
- 16. winsock 2. sécurité des threads pour les envois simultanés. tcp
- 17. Passer des appels à super?
- 18. goulot d'étranglement SQL, comment résoudre
- 19. Comment mesurer les performances dans le développement Java
- 20. Implications des performances des commentaires dans les procédures stockées SQL
- 21. Publication d'objets simultanés
- 22. Gestion des performances liées à l'utilisation des attributs dans .NET
- 23. Tests de performances sur les fichiers .xap
- 24. Callbacks asynchrones simultanés
- 25. cProfil profile les appels à l'intérieur des threads?
- 26. Les appels successifs à recvfrom() perdent des données?
- 27. Listes avec allocateurs simultanés
- 28. Amélioration des performances de WebView (les performances doivent être identiques à celles du navigateur Web natif)
- 29. Goulot d'étranglement localhost avec sockets python
- 30. analyser les problèmes de performances SQL Server?
Je ne le crois pas, la plupart des systèmes d'exploitation fournir un bon support pour ce type de fonction et il est probablement implémenté comme une méthode native. Pourquoi blâtes-tu cette méthode pour tes problèmes de performances? –
Quel profilage avez-vous fait qui montre que cette fonction est le problème? –