BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Performance & Scalability Content on InfoQ

  • Three Tips to Successfully Load Test Microsoft Silverlight Applications

    While Silverlight is an attractive option for developing expanded application, it brings new challenges to organizations. In preparation, companies must adapt their testing approach. Given the way new technologies work when deployed on internet/intranet applications, a careful approach to testing is important.

  • Twitter Shifting More Code to JVM, Citing Performance and Encapsulation As Primary Drivers

    While it almost certainly remains the largest Ruby on Rails based site in the world, Twitter has gradually been moving more and more of its stack to the JVM. Last year the company announced that its back-end message queue had been re-written in Scala, and more recently it moved the search stack to Java, making Twitter search around three times faster.

  • Pieter van Zyl on Benchmarking ORM Tools and Object Databases

    OO7J is a Java version of the original OO7 benchmark (written in C++). This project includes benchmarking Object Relational Mapping (ORM) tools. Currently there are implementations for Hibernate on PostgreSQL, MySQL, db4o and Versant databases. InfoQ and Roberto V. Zicari from ODBMS.ORG recently interviewed Pieter van Zyl, creator of the OO7J benchmark.

  • The Azul Garbage Collector

    Azul's recently announced Zing product brings their Garbage Collector, which achieves both pauseless garbage collection and a high tolerance to the factors which typically impact collection and application responsiveness, to Java programs running on Intel and AMD based servers. This article takes a detailed look at how Azul has been able to achieve these design goals.

  • Using Apache Avro

    Boris Lublinsky presents an introduction to AVRO and evaluate its usage for Schema componentization, inheritance and polymorphism. He also discusses backward compatibility issues and AVRO solutions for this problem.

  • Revving Up Your Hibernate Engine

    This article explores tuning techniques for Hibernate-based applications, focusing on tuning topics that are effective but poorly documented, such as inheritance mapping, second level cache and enhanced sequence identifier generators. It also provides some background database information which is essential for tuning Hibernate.

  • Virtual Panel: The Node.js Ecosystem - Frameworks, Libraries and Best Practices

    Node.js is a server side framework based on top of Google’s V8 JavaScript Engine, that aims to assist developers in building highly scalable network programs, by using evented, non-blocking I/O. InfoQ had a virtual panel with the creators of some of the most popular 3rd party libraries and frameworks that utilize Node.js.

  • Scaling Clojure Web Apps with Google AppEngine

    InfoQ takes a look at how a combo of Clojure and Google AppEngine (GAE) powers a new online project management tool, how Clojure integrates with GAE's key/value store, and the power of LISP.

  • Memory Barriers and JVM Concurrency

    Memory barriers, or fences, are a set of processor instructions used to apply ordering limitations on memory operations. This article explains the impact memory barriers have on the determinism of multi-threaded programs. We'll look at how memory barriers relate to JVM concurrency constructs such as volatile, synchronized and atomic conditionals.

  • Extreme Transaction Processing Patterns: Write-behind Caching

    Lan Vuong shows how to optimize the performance of an application by leveraging the write-behind caching pattern which sends batch updates to the back-end database asynchronously within a user configurable interval of time, instead of doing sychronous write-through updates typical in web apps.

  • Building FlightCaster's Frontends for the Web and Smartphones

    In part two of InfoQ's interview with the FlightCaster team, we discuss scaling Rails on Heroku, the problems of integrating data from multiple providers and mobile smartphone applications.

  • Creating Highly-Scalable Components in Java

    This article presents a library supporting the development of highly-scalable applications that take advantage of an underlying multi-core hardware. The library is part of the Amino Library Project. One example: ensure scalability of applications by using , java.util.concurrent.ConcurrentHashMap to replace a synchronized HashTable.

BT