![Page 1: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/1.jpg)
1
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Product Overview
Norman R. [email protected]
Director of EngineeringGemStone Systems Inc.
![Page 2: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/2.jpg)
2
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Subjects For Today s Talk
GemStone Systems At A Glance (briefly)What Is GemStone/S? (briefly)Why 64 Bit?Phase 1Phase 2Smalltalk Coding ChangesFuture Features
![Page 3: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/3.jpg)
3
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone Systems at a Glance
Founded 1982 Headquarters: Beaverton, Oregon, USAPrivately Held
Investor: 65%Employees: 35%
Experienced Engineering TeamMany employees with 10+ years tenureSome over 20 years.
Over 200 installed customers24 x 7 global support.
![Page 4: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/4.jpg)
4
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Banking / Finance Government
Telecommunications Transportation/Shipping
GemStone/S Customers
![Page 5: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/5.jpg)
5
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
What Is GemStone/S?
Three Easy Pieces:1. An Object Oriented Database
Objects stored in object formatNo tables, rows, or columns.No O/R mapping code to maintain.
ACID TransactionsAtomic all or nothingConsistent start/end states are consistentIsolation Commit in Session A does not immediately affect Session BDurable cannot be rolled back once committed.
![Page 6: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/6.jpg)
6
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
What Is GemStone/S?
2. A Smalltalk dialectComes with a complete set of Kernel Classes.Repository contains object behavior (classes, compiled methods, etc) as well as object state (inst vars, class vars, etc).
![Page 7: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/7.jpg)
7
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
What Is GemStone/S?
3. An Application ServerApplications have been written entirely in GemStone/S.Supports many kinds of clients
Smalltalk: VA & VWJavaC & C++UNIX shell (using topaz)
![Page 8: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/8.jpg)
8
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Why GemStone 64 Bit?
Customers desired to scale beyond the 32-bit limits:
4 GB Addressable MemoryMax shared page cache size = 2 - 3 GB
1 billion objects max
![Page 9: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/9.jpg)
9
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Why GemStone 64 Bit?
Why Do We Care About 32 Bit Limits?Examples
5 GB repository, 2 GB Shared page cache40% of database cachedPerformance: OK
100 GB repository, 2 GB Shared page cache2% of database cachedPerformance: POOR
![Page 10: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/10.jpg)
10
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Moving to 64 Bit
Project Divided Into 2 Phases:Phase 1: 64 bit address spacePhase 2: 64 bit object identifiers
![Page 11: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/11.jpg)
11
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 GoalsPerformance Scalability
Exploit 64 bit address spaceImprove Smalltalk VM performanceReduce persistent garbage
![Page 12: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/12.jpg)
12
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 Features100% 64 bit2 billion OOP limitCurrent Version: 1.1.5Supported Platforms :
Solaris 9, 10HPUX 11.11 (PA-RISC)AIX 5.2, 5.3Linux x86_64 (RH 4, SuSE 9.3)
![Page 13: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/13.jpg)
13
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 FeaturesGemBuilder for Smalltalk (GBS) Support
VisualWorks 5i.4, 7.4+Visual Age 6.0, 7.0
![Page 14: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/14.jpg)
14
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsSupports very large Shared Page Caches
Up to 16 TBDatabase-in-memory capable
![Page 15: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/15.jpg)
15
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsShared Cache Warming
Loads data into the shared cacheUses any number of gem processesStops when the shared cache becomes full or all data was loaded.
![Page 16: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/16.jpg)
16
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsNo more large object leaks
Old DesignLarge objects (> 8 Kb) always go to diskOld space overflows go to diskResult: too much persistent garbage
New DesignObjects only go to disk if referenced by a committed object.No exceptions for large objects.
Net effect: Large reduction in garbage object creation.
![Page 17: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/17.jpg)
17
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsImproved Symbol Management
Symbol GemNew session dedicated to managing AllSymbols.Creates all new symbol objects.Guarantees symbols are always canonical
Faster Symbol LookupAllSymbols collection redesigned for speedLookups now use binary searches
![Page 18: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/18.jpg)
18
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsOnline Backups
Safely copy database extents while system is running.No impact to users: commits and aborts are allowed.
![Page 19: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/19.jpg)
19
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsParallelized Garbage Collection
Reclaim GC gemsVariable number: 0 to 255Reclaim both shadow and dead objectsRun online with productionImproved reclaim performance for large production systems.
![Page 20: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/20.jpg)
20
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 ImprovementsMajor Virtual Machine Redesign
Copy-on-read Object Manager (OM)All Classes and Super classes read into private memory.All objects read/written are copied to private VM memory.Large working set = large memory footprint
Byte code dispatch loop written in assembler
![Page 21: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/21.jpg)
21
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
0.38093.8879Create & de-ref 6.5MB objs
2.4693.478Fault and verify 30 MB data
20.13654.541Commit 6.5 MB data
2.0922.397100 factorial
2.1752.45950 factorial
GS64 1.1GS 6.1Test
Phase 1 ImprovementsFaster Smalltalk Virtual Machine
![Page 22: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/22.jpg)
22
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 Engineering TasksFor 615,000 lines of C code:
Convert to C++Change of compilers
Make 64-bit safelong -> intunsigned long -> unsigned int
Rewrite object manager and LOM garbage collector from scratch
Duration: 15 months
![Page 23: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/23.jpg)
23
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 Production CustomersChina Ocean Shipping Company (COSCO)
Location: Shanghai, ChinaBusiness: Container ShippingPlatforms: HPUX, Solaris, Windows XPURL: www.cosco.com
Intercontinental Exchange (ICE)Location: Atlanta, GABusiness: Energy Futures TradingPlatforms: AIX, Windows XPURL: www.theice.com
![Page 24: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/24.jpg)
24
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 1
Phase 1 Production CustomersNorthwater Capital
Location: Toronto, CanadaBusiness: Financial Portfolio ManagementPlatforms: Linux, SolarisURL: www.northwatercapital.com
Soon: Dutch Agricultural Institute (LEI)Location: The Hague, NetherlandsBusiness: GovernmentPlatforms: Solaris, WindowsURL: www.lei.nl
![Page 25: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/25.jpg)
25
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Phase 2 GoalsObject Volume Scalability
Support very large repositoriesOvercome 2 billion object limitFully exploit 64 bit object identifiers
![Page 26: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/26.jpg)
26
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Phase 2 Features64 bit object IDs
Maximum Objects: 240 objects
Support for Very Large Databases Max # of database extents: 255Max extent size: 32 TBMax database size: 8,160 TB
![Page 27: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/27.jpg)
27
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Phase 2 FeaturesFaster Smalltalk VM
Add 100 Additional Smalltalk byte codesVM runs 30 50% faster
Extended SmallInteger Range±260 (±1,152,921,504,606,846,976)
Previous range: ±229
![Page 28: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/28.jpg)
28
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Phase 2 FeaturesNew Special Class: SmallDouble
Subset of IEEE 754 float format8 bit exponent52 bit mantissaRange: 5.0e-39 to 6.0e+38 (approx)
Specials encapsulate their value in the in the object IDNo disk I/O
![Page 29: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/29.jpg)
29
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Phase 2 FeaturesBetter Indexes on Collections
Complete redesign of the indexing subsystem.Faster index creation/removalFewer concurrency conflictsSame query semantics as before
AllEmployees detect:{:e| e.firstName = Stephane & e.lastName = Ducasse }
![Page 30: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/30.jpg)
30
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
GemStone/64 2.x FeaturesConversion From Previous Releases
GemStone/64 1.1 or laterGemStone/S 6.1.5 or later.
![Page 31: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/31.jpg)
31
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
GemStone/64 2.0Released 3/31/2006Supported Platforms
Solaris 9, 10HPUX 11.11 (PA-RISC)
![Page 32: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/32.jpg)
32
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Production CustomersOOCL (Orient Overseas Container Limited)
Location: Hong Kong, San Jose, CABusiness: Container ShippingPlatforms: Solaris, HPUX, Windows XPURL: www.oocl.com
![Page 33: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/33.jpg)
33
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
Production CustomersOOCL
Production deployment: 7/30/06360 GB repository1.7 billion objects1800 concurrent users
![Page 34: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/34.jpg)
34
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
OOCLPerformance:
Server VM: 30% 50% faster
New Smalltalk byte codes
Client Server Network load:20% more bytes
32 -> 64 bit oops
![Page 35: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/35.jpg)
35
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
OOCLPerformance:
VW Client30% 50% Slower64 bit object IDs are LargePositiveIntegersGemBuilder For Smalltalk (GBS) performance lossImproved GBS coming in October
Overall Application Performance: 15% slower.
![Page 36: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/36.jpg)
36
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Phase 2
GemStone/64 2.1Target: October 2006:
Add support for:AIX 5.2, 5.3Linux on x86-64
VM Performance ImprovementsIndex improvementsBug fixes
![Page 37: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/37.jpg)
37
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GS/64 Coding Changes
Possible Problems
All objects accessed by the interpreter must be read into the VM, even if the object is only referenced by identity.
![Page 38: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/38.jpg)
38
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GS/64 Coding Changes
Possible Problems: ExampleSo this code
aLargeArray do:[:each| each == someObject
ifTrue:[^each]. ].
^Object error: #keyNotFound.
may be fast in GS 6.1, but not in GS 64.
Who Knows Why ?
![Page 39: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/39.jpg)
39
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GS/64 Coding Changes
aLargeArray do:[:each| each == someObject
ifTrue:[^each]. ].
^Object error: #keyNotFound.
GS 6.1: == compares identity without faulting each.
GS 64:== compares identity, but each must be read into memory.
![Page 40: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/40.jpg)
40
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GS/64 Coding Changes
Solution: Do it this way:
|index|
index := aLargeArray indexOfIdentical: someObject.
index == 0
ifTrue:[Object error: #keyNotFound]
ifFalse:[^aLargeArray at: index].
#indexOfIdentical calls a primitive, which is smart enough to search without faulting in the objects in aLargeArray
![Page 41: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/41.jpg)
41
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GS/64 Coding Changes
Other Methods Added To Avoid Unnecessary Object FaultingIdentityBag >> copyFrom:count:into:startingAt:
IdentityBag >> copyFrom:to:into:startingAt:
OrderedCollection >> addAll:
OrderedCollection >> _addAllFromNsc:
SequencableCollection >> copyFrom:count:into:startingAt:
![Page 42: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/42.jpg)
42
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Future Releases
Multi-threaded garbage collectionmarkForCollection, etc
Multi-threaded Tranlog Replay#restoreFromLogs:Crash recovery from crash
Multi-thread the Stone processImproved VM Performance
![Page 43: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/43.jpg)
43
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Future Features
Additional Special ClassesCandidates:
DateDateTimeTimeCurrencyScaledDecimal
Reduced Conflict (RC) Indexes on Collections
![Page 44: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/44.jpg)
44
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
GemStone/64 Future Features
Thread-safe C-interface (GCI layer)Support for Seaside
Need native support for continuations
![Page 45: Founded 1982 - ESUG · Business: Container Shipping Platforms: HPUX, Solaris, Windows XP URL: Intercontinental Exchange (ICE) Location: Atlanta, …](https://reader031.vdocuments.us/reader031/viewer/2022030811/5b1cc6cc7f8b9a9e388bc92c/html5/thumbnails/45.jpg)
45
Copyright © 2006, GemStone Systems Inc. All Rights Reserved.
Questions?