You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by br...@apache.org on 2011/03/23 19:15:20 UTC

svn commit: r1084661 - /thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc

Author: bryanduxbury
Date: Wed Mar 23 18:15:19 2011
New Revision: 1084661

URL: http://svn.apache.org/viewvc?rev=1084661&view=rev
Log:
THRIFT-1107. py: improvement for compiler-generated python for 'None' object comparisons

This patch switches from 'x != None' to 'x is not None' for a small performance boost.

Patch: Will Pierce

Modified:
    thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc

Modified: thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc
URL: http://svn.apache.org/viewvc/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc?rev=1084661&r1=1084660&r2=1084661&view=diff
==============================================================================
--- thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc (original)
+++ thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc Wed Mar 23 18:15:19 2011
@@ -827,7 +827,7 @@ void t_py_generator::generate_py_struct_
   for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) {
     // Write field header
     indent(out) <<
-      "if self." << (*f_iter)->get_name() << " != None:" << endl;
+      "if self." << (*f_iter)->get_name() << " is not None:" << endl;
     indent_up();
     indent(out) <<
       "oprot.writeFieldBegin(" <<
@@ -1064,7 +1064,7 @@ void t_py_generator::generate_service_cl
     } else {
       f_service_ <<
         indent() << "  self._iprot = self._oprot = iprot" << endl <<
-        indent() << "  if oprot != None:" << endl <<
+        indent() << "  if oprot is not None:" << endl <<
         indent() << "    self._oprot = oprot" << endl <<
         indent() << "  self._seqid = 0" << endl <<
         endl;
@@ -1233,7 +1233,7 @@ void t_py_generator::generate_service_cl
       // Careful, only return _result if not a void function
       if (!(*f_iter)->get_returntype()->is_void()) {
         f_service_ <<
-          indent() << "if result.success != None:" << endl;
+          indent() << "if result.success is not None:" << endl;
           if (gen_twisted_) {
             f_service_ <<
               indent() << "  return d.callback(result.success)" << endl;
@@ -1248,7 +1248,7 @@ void t_py_generator::generate_service_cl
       vector<t_field*>::const_iterator x_iter;
       for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) {
         f_service_ <<
-          indent() << "if result." << (*x_iter)->get_name() << " != None:" << endl;
+          indent() << "if result." << (*x_iter)->get_name() << " is not None:" << endl;
           if (gen_twisted_) {
             f_service_ <<
               indent() << "  return d.errback(result." << (*x_iter)->get_name() << ")" << endl;