Python.Org 5/26/14, 6:52 PM

Total Page:16

File Type:pdf, Size:1020Kb

Python.Org 5/26/14, 6:52 PM What's New In Python 3.0 | Python.org 5/26/14, 6:52 PM What's New In Python 3.0 (editors: check NEWS.help for information about editing NEWS using ReST.) What's New in Python 3.0 final Release date: 03-Dec-2008 Core and Builtins Issue #3996: On Windows, the PyOS_CheckStack function would cause the interpreter to abort ("Fatal Python error: Could not reset the stack!") instead of throwing a MemoryError. Issue #3689: The list reversed iterator now supports __length_hint__ instead of __len__. Behavior now matches other reversed iterators. Issue #4367: Python would segfault during compiling when the unicodedata module couldn't be imported and N escapes were present. Fix build failure of _cursesmodule.c building with -D_FORTIFY_SOURCE=2. Library Issue #4387: binascii now refuses to accept str as binary input. Issue #4073: Add 2to3 support to build_scripts, refactor that support in build_py. IDLE would print a "Unhandled server exception!" message when internal debugging is enabled. Issue #4455: IDLE failed to display the windows list when two windows have the same title. Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an exception. Issue #4433: Fixed an access violation when garbage collecting _ctypes.COMError instances. Issue #4429: Fixed UnicodeDecodeError in ctypes. Issue #4373: Corrected a potential reference leak in the pickle module and silenced a false positive ref leak in distutils.tests.test_build_ext. https://www.python.org/download/releases/3.0/whatsnew Page 1 of 24 What's New In Python 3.0 | Python.org 5/26/14, 6:52 PM Issue #4382: dbm.dumb did not specify the expected file encoding for opened files. Issue #4383: When IDLE cannot make the connection to its subprocess, it would fail to properly display the error message. Build Issue #4407: Fix source file that caused the compileall step in Windows installer to fail. Docs Issue #4449: Fixed multiprocessing examples Issue #3799: Document that dbm.gnu and dbm.ndbm will accept string arguments for keys and values which will be converted to bytes before committal. What's New in Python 3.0 release candidate 3? Release date: 20-Nov-2008 Core and Builtins Issue #4349: sys.path included a non-existent platform directory because of a faulty Makefile. Issue #3327: Don't overallocate in the modules_by_index list. Issue #1721812: Binary set operations and copy() returned the input type instead of the appropriate base type. This was incorrect because set subclasses would be created without their __init__() method being called. The corrected behavior brings sets into line with lists and dicts. Issue #4296: Fix PyObject_RichCompareBool so that "x in [x]" evaluates to True, even when x doesn't compare equal to itself. This was a regression from 2.6. Issue #3705: Command-line arguments were not correctly decoded when the terminal does not use UTF8. Library Issue #4363: The uuid.uuid1() and uuid.uuid4() functions now work even if the ctypes module is not present. FileIO's mode attribute now always includes "b". Issue #3799: Fix dbm.dumb to accept strings as well as bytes for keys. String keys are now written out in UTF-8. Issue #4338: Fix distutils upload command. Issue #4354: Fix distutils register command. Issue #4116: Resolve member name conflict in ScrolledCanvas.__init__. Issue #4307: The named tuple that inspect.getfullargspec() returns now uses kwonlydefaults instead of https://www.python.org/download/releases/3.0/whatsnew Page 2 of 24 What's New In Python 3.0 | Python.org 5/26/14, 6:52 PM kwdefaults. Issue #4298: Fix a segfault when pickle.loads is passed a ill-formed input. Issue #4283: Fix a left-over "iteritems" call in distutils. Build Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs". Issue #4289: Remove Cancel button from AdvancedDlg. Issue #1656675: Register a drop handler for .py* files on Windows. Tools/Demos Demos of the socketserver module now work with Python 3. What's New in Python 3.0 release candidate 2 Release date: 05-Nov-2008 Core and Builtins Issue #4211: The __path__ attribute of frozen packages is now a list instead of a string as required by PEP 302. Issue #3727: Fixed poplib. Issue #3714: Fixed nntplib by using bytes where appropriate. Issue #1210: Fixed imaplib and its documentation. Issue #4233: Changed semantic of _fileio.FileIO's close() method on file objects with closefd=False. The file descriptor is still kept open but the file object behaves like a closed file. The FileIO object also got a new readonly attribute closefd. Issue #3626: On cygwin, starting python with a non-existent script name would not display anything if the file name is only 1 character long. Issue #4176: Fixed a crash when pickling an object which __reduce__ method does not return iterators for the 4th and 5th items. Issue #3723: Fixed initialization of subinterpreters. Issue #4213: The file system encoding is now normalized by the codec subsystem, for example UTF-8 is turned into utf-8. Issue #4200: Changed the atexit module to store its state in its PyModuleDef atexitmodule. This fixes a bug with multiple subinterpeters. Issue #4237: io.FileIO() was raising invalid warnings caused by insufficient initialization of PyFileIOObject struct members. Issue #4170: Pickling a collections.defaultdict object would crash the interpreter. Issue #4146: Compilation on OpenBSD has been restored. https://www.python.org/download/releases/3.0/whatsnew Page 3 of 24 What's New In Python 3.0 | Python.org 5/26/14, 6:52 PM Issue #3574: compile() incorrectly handled source code encoded as Latin-1. Issues #2384 and #3975: Tracebacks were not correctly printed when the source file contains a coding: header: the wrong line was displayed, and the encoding was not respected. Issue #3740: Null-initialize module state. Issue #3946: PyObject_CheckReadBuffer crashed on a memoryview object. Issue #1688: On Windows, the input() prompt was not correctly displayed if it contains non-ascii characters. Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default. Library Issue #3664: The pickle module could segfault if a subclass of Pickler fails to call the base __init__ method. Issue #3725: telnetlib now works completely in bytes. Issue #4072: Restore build_py_2to3. Issue #4014: Don't claim that Python has an Alpha release status, in addition to claiming it is Mature. Issue #3187: Add sys.setfilesystemencoding. Issue #3187: Better support for "undecodable" filenames. Code by Victor Stinner, with small tweaks by GvR. Issue #3965: Allow repeated calls to turtle.Screen, by making it a true singleton object. Issue #3911: ftplib.FTP.makeport() could give invalid port numbers. Issue #3929: When the database cannot be opened, dbm.open() would incorrectly raise a TypeError: "'tuple' object is not callable" instead of the expected dbm.error. Bug #3884: Make the turtle module toplevel again. Issue #3547: Fixed ctypes structures bitfields of varying integer sizes. Extension Modules Issue #3659: Subclasses of str didn't work as SQL parameters. Build Issue #4120: Exclude manifest from extension modules in VS2008. Issue #4091: Install pythonxy.dll in system32 again. Issue #4018: Disable "for me" installations on Vista. Issue #4204: Fixed module build errors on FreeBSD 4. Tools/Demos https://www.python.org/download/releases/3.0/whatsnew Page 4 of 24 What's New In Python 3.0 | Python.org 5/26/14, 6:52 PM Issue #3717: Fix Demo/embed/demo.c. Issue #4072: Add a distutils demo for build_py_2to3. What's New in Python 3.0 release candidate 1 Release date: 17-Sep-2008 Core and Builtins Issue #3827: memoryview lost its size attribute in favor of using len(view). Issue #3813: could not lanch python.exe via symbolic link on cygwin. Issue #3705: fix crash when given a non-ascii value on the command line for the "-c" and "-m" parameters. Now the behaviour is as expected under Linux, although under Windows it fails at a later point. Issue #3279: Importing site at interpreter was failing silently because the site module uses the open builtin which was not initialized at the time. Issue #3660: Corrected a reference leak in str.encode() when the encoder does not return a bytes object. Issue #3774: Added a few more checks in PyTokenizer_FindEncoding to handle error conditions. Issue #3594: Fix Parser/tokenizer.c:fp_setreadl() to open the file being tokenized by either a file path or file pointer for the benefit of PyTokenizer_FindEncoding(). Issue #3696: Error parsing arguments on OpenBSD <= 4.4 and Cygwin. On these systems, the mbstowcs() function is slightly buggy and must be replaced with strlen() for the purpose of counting of number of wide characters needed to represent the multi-byte character string. Issue #3697: "Fatal Python error: Cannot recover from stack overflow" could be easily encountered under Windows in debug mode when exercising the recursion limit checking code, due to bogus handling of recursion limit when USE_STACKCHEK was enabled. Issue 3639: The _warnings module could segfault the interpreter when unexpected types were passed in as arguments. Issue #3712: The memoryview object had a reference leak and didn't support cyclic garbage collection. Issue #3668: Fix a memory leak with the "s*" argument parser in PyArg_ParseTuple and friends, which occurred when the argument for "s*" was correctly parsed but parsing of subsequent arguments failed. Issue #3611: An exception __context__ could be cleared in a complex pattern involving a __del__ method re-raising an exception. Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__ mechanism. In the process, fix a bug where isinstance() and issubclass(), when given a tuple of classes as second argument, were looking up __instancecheck__ / __subclasscheck__ on the tuple rather than on each type object.
Recommended publications
  • Pdflib Text and Image Extraction Toolkit (TET) Manual
    ABC Text and Image Extraction Toolkit (TET) Version 5.2 Toolkit for extracting Text, Images, and other items from PDF Copyright © 2002–2019 PDFlib GmbH. All rights reserved. Protected by European and U.S. patents. PDFlib GmbH Franziska-Bilek-Weg 9, 80339 München, Germany www.pdflib.com phone +49 • 89 • 452 33 84-0 If you have questions check the PDFlib mailing list and archive at groups.yahoo.com/neo/groups/pdflib/info Licensing contact: [email protected] Support for commercial PDFlib licensees: [email protected] (please include your license number) This publication and the information herein is furnished as is, is subject to change without notice, and should not be construed as a commitment by PDFlib GmbH. PDFlib GmbH assumes no responsibility or lia- bility for any errors or inaccuracies, makes no warranty of any kind (express, implied or statutory) with re- spect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for par- ticular purposes and noninfringement of third party rights. TET contains modified parts of the following third-party software: CMap resources. Copyright © 1990-2019 Adobe Zlib compression library, Copyright © 1995-2017 Jean-loup Gailly and Mark Adler TIFFlib image library, Copyright © 1988-1997 Sam Leffler, Copyright © 1991-1997 Silicon Graphics, Inc. Cryptographic software written by Eric Young, Copyright © 1995-1998 Eric Young ([email protected]) Independent JPEG Group’s JPEG software, Copyright © Copyright © 1991-2017, Thomas G. Lane, Guido Vollbeding Cryptographic software, Copyright © 1998-2002 The OpenSSL Project (www.openssl.org) Expat XML parser, Copyright © 2001-2017 Expat maintainers ICU International Components for Unicode, Copyright © 1995-2012 International Business Machines Corpo- ration and others OpenJPEG library, Copyright © 2002-2014, Université catholique de Louvain (UCL), Belgium TET contains the RSA Security, Inc.
    [Show full text]
  • DLI Implementation and Reference Guide
    Implementation and Reference Guide Datalogics Interface Datalogics® Datalogics DATALOGICS INTERFACE Implementation and Reference Guide This guide is part of the Adobe® PDF Library v6.1.1Plus suite; 02/15/05. Copyright 1999-2005 Datalogics Incorporated. All Rights Reserved. Use of Datalogics software is subject to the applicable license agreement. DL Interface is a trademark of Datalogics Incorporated. Other products mentioned herein as Datalogics prod- ucts are also trademarks or registered trademarks of Datalogics, Incorporated. Adobe, Adobe PDF Library, Portable Document Format (PDF), PostScript, Acrobat, Distiller, Exchange and Reader are trademarks of Adobe Systems Incorporated. HP and HP-UX are registered trademarks of Hewlett Packard Corporation. IBM, AIX, AS/400, OS/400, MVS, and OS/390 are registered trademarks of International Business Machines. Java, J2EE, J2SE, J2ME, all Java-based marks, Sun and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Linux is a registered trademark of Linus Torvalds. Microsoft, Windows and Windows NT are trademarks or registered trademarks of Microsoft Corporation. SAS/C is a registered trademark of SAS Institute Inc. UNIX is a registered trademark of The Open Group. VeriSign® is a registered trademark of VeriSign, Inc. in the United States and/or other countries. All other trademarks and registered trademarks are the property of their respective owners. For additional information, contact: Datalogics, Incorporated 101 North Wacker
    [Show full text]
  • Python Language
    Python Language #python Table of Contents About 1 Chapter 1: Getting started with Python Language 2 Remarks 2 Versions 3 Python 3.x 3 Python 2.x 3 Examples 4 Getting Started 4 Verify if Python is installed 4 Hello, World in Python using IDLE 5 Hello World Python file 5 Launch an interactive Python shell 6 Other Online Shells 7 Run commands as a string 7 Shells and Beyond 8 Creating variables and assigning values 8 User Input 12 IDLE - Python GUI 13 Troubleshooting 14 Datatypes 15 Built-in Types 15 Booleans 15 Numbers 15 Strings 16 Sequences and collections 16 Built-in constants 17 Testing the type of variables 18 Converting between datatypes 18 Explicit string type at definition of literals 19 Mutable and Immutable Data Types 19 Built in Modules and Functions 20 Block Indentation 24 Spaces vs. Tabs 25 Collection Types 25 Help Utility 30 Creating a module 31 String function - str() and repr() 32 repr() 33 str() 33 Installing external modules using pip 34 Finding / installing a package 34 Upgrading installed packages 34 Upgrading pip 35 Installation of Python 2.7.x and 3.x 35 Chapter 2: *args and **kwargs 38 Remarks 38 h11 38 h12 38 h13 38 Examples 39 Using *args when writing functions 39 Using **kwargs when writing functions 39 Using *args when calling functions 40 Using **kwargs when calling functions 41 Using *args when calling functions 41 Keyword-only and Keyword-required arguments 42 Populating kwarg values with a dictionary 42 **kwargs and default values 42 Chapter 3: 2to3 tool 43 Syntax 43 Parameters 43 Remarks 44 Examples 44 Basic
    [Show full text]
  • A Proposal of Substitute for Base85/64 – Base91
    A Proposal of Substitute for Base85/64 – Base91 Dake He School of Information Science & Technology, Southwest Jiaotong University, Chengdu 610031,China College of Informatics, South China Agricultural University, Guangzhou 510642, China [email protected] Yu Sun, Zhen Jia, Xiuying Yu, Wei Guo, Wei He, Chao Qi School of Information Science & Technology, Southwest Jiaotong University, Chengdu 610031,China Xianhui Lu Key Lab. of Information Security, Chinese Academy of Sciences, Beijing 100039,China ABSTRACT not control character or “-”(hyphen). There are totally 94 of such ASCII characters, their corresponding digital The coding transformation method, called Base91, is coding being all integers ranging from 32 through 126 characterized by its output of 91 printable ASCII with the exception of 45. E-mail written in these ASCII characters. Base91 has a higher encoding efficiency than characters is compatible with the Internet standard SMTP, Base85/64, and higher encoding rate than Base85. and can be transferred in nearly all the E-mail systems. Besides, Base91 provides compatibility with any Nowadays, as Content-Transfer-Encoding to provide bit-length input sequence without additional filling compatibility with the E-mail, Base64[1,2] code is usually declaration except for his codeword self. One can use employed. Base91 as a substitute for Base85 and Base64 to get some Base64 coding divides the input sequence into blocks benefits in restricted situations. being 6-bits long to be used as variable implementation Keywords: Base91; Base85; Base64; printable ASCII mapping, the mapping is denoted by characters; IPv6 Base64[ ]: X →Y where the variable or original image set X includes all 64 1.
    [Show full text]
  • Answers to Exercises
    Answers to Exercises A bird does not sing because he has an answer, he sings because he has a song. —Chinese Proverb Intro.1: abstemious, abstentious, adventitious, annelidous, arsenious, arterious, face- tious, sacrilegious. Intro.2: When a software house has a popular product they tend to come up with new versions. A user can update an old version to a new one, and the update usually comes as a compressed file on a floppy disk. Over time the updates get bigger and, at a certain point, an update may not fit on a single floppy. This is why good compression is important in the case of software updates. The time it takes to compress and decompress the update is unimportant since these operations are typically done just once. Recently, software makers have taken to providing updates over the Internet, but even in such cases it is important to have small files because of the download times involved. 1.1: (1) ask a question, (2) absolutely necessary, (3) advance warning, (4) boiling hot, (5) climb up, (6) close scrutiny, (7) exactly the same, (8) free gift, (9) hot water heater, (10) my personal opinion, (11) newborn baby, (12) postponed until later, (13) unexpected surprise, (14) unsolved mysteries. 1.2: A reasonable way to use them is to code the five most-common strings in the text. Because irreversible text compression is a special-purpose method, the user may know what strings are common in any particular text to be compressed. The user may specify five such strings to the encoder, and they should also be written at the start of the output stream, for the decoder’s use.
    [Show full text]
  • Numbers 1 to 100
    Numbers 1 to 100 PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Tue, 30 Nov 2010 02:36:24 UTC Contents Articles −1 (number) 1 0 (number) 3 1 (number) 12 2 (number) 17 3 (number) 23 4 (number) 32 5 (number) 42 6 (number) 50 7 (number) 58 8 (number) 73 9 (number) 77 10 (number) 82 11 (number) 88 12 (number) 94 13 (number) 102 14 (number) 107 15 (number) 111 16 (number) 114 17 (number) 118 18 (number) 124 19 (number) 127 20 (number) 132 21 (number) 136 22 (number) 140 23 (number) 144 24 (number) 148 25 (number) 152 26 (number) 155 27 (number) 158 28 (number) 162 29 (number) 165 30 (number) 168 31 (number) 172 32 (number) 175 33 (number) 179 34 (number) 182 35 (number) 185 36 (number) 188 37 (number) 191 38 (number) 193 39 (number) 196 40 (number) 199 41 (number) 204 42 (number) 207 43 (number) 214 44 (number) 217 45 (number) 220 46 (number) 222 47 (number) 225 48 (number) 229 49 (number) 232 50 (number) 235 51 (number) 238 52 (number) 241 53 (number) 243 54 (number) 246 55 (number) 248 56 (number) 251 57 (number) 255 58 (number) 258 59 (number) 260 60 (number) 263 61 (number) 267 62 (number) 270 63 (number) 272 64 (number) 274 66 (number) 277 67 (number) 280 68 (number) 282 69 (number) 284 70 (number) 286 71 (number) 289 72 (number) 292 73 (number) 296 74 (number) 298 75 (number) 301 77 (number) 302 78 (number) 305 79 (number) 307 80 (number) 309 81 (number) 311 82 (number) 313 83 (number) 315 84 (number) 318 85 (number) 320 86 (number) 323 87 (number) 326 88 (number)
    [Show full text]
  • Pdflib Text and Image Extraction Toolkit (TET) 5.3 Manual
    ABC Text and Image Extraction Toolkit (TET) Version 5.3 Toolkit for extracting Text, Images, and other items from PDF Copyright © 2002–2021 PDFlib GmbH. All rights reserved. Protected by European and U.S. patents. PDFlib GmbH Franziska-Bilek-Weg 9, 80339 München, Germany www.pdflib.com phone +49 • 89 • 452 33 84-0 [email protected] [email protected] (please include your license number) This publication and the information herein is furnished as is, is subject to change without notice, and should not be construed as a commitment by PDFlib GmbH. PDFlib GmbH assumes no responsibility or lia- bility for any errors or inaccuracies, makes no warranty of any kind (express, implied or statutory) with re- spect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for par- ticular purposes and noninfringement of third party rights. TET contains the following third-party components: Adobe CMap resources, Copyright © 1990-2019 Adobe AES, Arcfour and SHA algorithms, Copyright © 1995-1998 Eric Young Brotli decompression code, Copyright © 2009, 2010, 2013-2016 by the Brotli Authors Expat XML parser, Copyright © 2001-2017 Expat maintainers ICClib, Copyright © 1997-2002 Graeme W. Gill ICU International Components for Unicode, Copyright © 1991-2020 Unicode, Inc. libjpeg, Copyright © 1991-2019, Thomas G. Lane, Guido Vollbeding Libtiff image library, Copyright © 1988-1997 Sam Leffler, Copyright © 1991-1997 Silicon Graphics, Inc. MD5 message digest, Copyright © 1991-2, RSA Data Security, Inc. OpenJPEG, Copyright ©
    [Show full text]
  • Command Line Interface Pitstop Server
    Command Line Interface PitStop Server Contents 1. Copyrights............................................................................................................................................... 5 2. Introduction............................................................................................................................................. 6 2.1 Short summary.......................................................................................................................................6 2.2 Objectives................................................................................................................................................6 2.2.1 Target group.................................................................................................................................6 2.2.2 Ease of use...................................................................................................................................6 2.2.3 Distribution................................................................................................................................... 7 2.2.4 Multiple invocations..................................................................................................................... 7 3. The Command Line Interface..................................................................................................................8 3.1 Command line options..........................................................................................................................
    [Show full text]
  • Assembler Service and DDX Reference
    bbc Assembler Service and DDX Reference Adobe Experience Manager 6.3 Forms May 2017 Legal Notices For more information, see http://help.adobe.com/en_US/legalnotices/index.html.s Contents 1 About This Help .........................................................................................................................12 Additional information...............................................................................................................................................................12 Part I: DDX User Document 2 Introducing Document Description XML.................................................................................14 DDX document structure ..........................................................................................................................................................14 DDX building blocks....................................................................................................................................................................14 DDX principles...............................................................................................................................................................................15 Result elements ......................................................................................................................................................................16 Source elements.....................................................................................................................................................................18
    [Show full text]
  • Mom Documentation Release 0.1.3
    mom Documentation Release 0.1.3 Yesudeep Mangalapilly July 30, 2015 Contents 1 Getting the library 3 2 User Guides 5 2.1 Contributing...............................................5 3 API Documentation 7 3.1 mom ...................................................7 3.2 Codecs.................................................. 28 3.3 Cryptography primitives......................................... 46 3.4 Networking................................................ 51 3.5 Operating System helpers........................................ 52 4 Contribute 55 4.1 Contributing............................................... 55 5 Indices and tables 57 Python Module Index 59 i ii mom Documentation, Release 0.1.3 Mother of all our Python projects. Batteries for Python. Contents 1 mom Documentation, Release 0.1.3 2 Contents CHAPTER 1 Getting the library $ pip install mom or $ git clone git://github.com/gorakhargosh/mom.git or $ git clone http://code.google.com/p/python-mom/ $ cd mom $ python setup.py install 3 mom Documentation, Release 0.1.3 4 Chapter 1. Getting the library CHAPTER 2 User Guides 2.1 Contributing Welcome hackeratti! So you have got something you would like to see in mom? Whee. This document will help you get started. 2.1.1 Important URLs mom uses git to track code history and hosts its code repository at github. The issue tracker is where you can file bug reports and request features or enhancements to mom. 2.1.2 Before you start Ensure your system has the following programs and libraries installed before beginning to hack: 1. Python 2. git 3. ssh 2.1.3 Setting up the Work Environment mom makes extensive use of zc.buildout to set up its work environment. You should get familiar with it. Steps to setting up a clean environment: 1.
    [Show full text]
  • Glasswall SDK Documentation
    Glasswall SDK Documentation Glasswall Solutions Ltd Thur May 30 2019 1 Table of Contents Glasswall SDK Documentation ................................................................................................................ 1 Glasswall API Overview .......................................................................................................................... 5 Glasswall Configuration ........................................................................................................................... 7 Overview .............................................................................................................................................. 7 Watermarking ................................................................................................................................... 7 Content Management ........................................................................................................................ 7 Configuration Management API........................................................................................................... 7 Terminology ..................................................................................................................................... 8 Configuration Management Example ................................................................................................... 9 Glasswall Features .................................................................................................................................. 10 Determine File
    [Show full text]
  • Downloaded Multi-Valued Hash Table Mapping Each Fngerprint Id to 2018-12-07)
    Dalke J Cheminform (2019) 11:76 https://doi.org/10.1186/s13321-019-0398-8 Journal of Cheminformatics METHODOLOGY Open Access The chemfp project Andrew Dalke* Abstract The chemfp project has had four main goals: (1) promote the FPS format as a text-based exchange format for dense binary cheminformatics fngerprints, (2) develop a high-performance implementation of the BitBound algorithm that could be used as an efective baseline to benchmark new similarity search implementations, (3) experiment with funding a pure open source software project through commercial sales, and (4) publish the results and lessons learned as a guide for future implementors. The FPS format has had only minor success, though it did infuence devel- opment of the FPB binary format, which is faster to load but more complex. Both are summarized. The chemfp bench- mark and the no-cost/open source version of chemfp are proposed as a reference baseline to evaluate the efective- ness of other similarity search tools. They are used to evaluate the faster commercial version of chemfp, which can test 130 million 1024-bit fngerprint Tanimotos per second on a single core of a standard x86-64 server machine. When combined with the BitBound algorithm, a k 1000 nearest-neighbor search of the 1.8 million 2048-bit Morgan fnger- prints of ChEMBL 24 averages 27 ms/query. =The same search of 970 million PubChem fngerprints averages 220 ms/ query, making chemfp one of the fastest CPU-based similarity search implementations. Modern CPUs are fast enough that memory bandwidth and latency are now important factors.
    [Show full text]