Currently we do not publish 64-bit versions of minimal images however it is easy to convert it:
You need a VMMaker image: https://ci.inria.fr/pharo/view/all/job/Spur-Git-Tracker/lastSuccessfulBuild/artifact/vmmaker-image.zip ...and then do: pharo generator.image eval "Spur32to64BitBootstrap new bootstrapImage: 'Pharo-minimal-60506.image'" -- Pavel 2017-07-05 16:05 GMT+02:00 Tim Mackinnon <tim@testit.works>: > I went to try this to see how it might perform on AWS Lambda but I’m > guessing there isn’t a minimal 64 bit image right? > > Sven - was this a 32bit image from get.pharo.org/70-minimal? > > Tim > > On 30 Jun 2017, at 14:43, Sven Van Caekenberghe <s...@stfx.eu> wrote: > > > On 27 Jun 2017, at 21:15, Sven Van Caekenberghe <s...@stfx.eu> wrote: > > > On 27 Jun 2017, at 21:00, Esteban A. Maringolo <emaring...@gmail.com> > wrote: > > Interesting experiment. > > It would be good to know how fast does the image boot and start > execution in the context of a service billed at the sub second scale. > > > Sadly I have the impression we lost some speed: > > ~/pharo64$ ./pharo Pharo.image printVersion > [version] 6.0 #60499 > > ~/pharo64$ time ./pharo Pharo.image eval '42 factorial' > 1405006117752879898543142606244511569936384000000000 > > real 0m1.276s > user 0m0.985s > sys 0m0.171s > > while before > > ~/pharo/build$ ../bin/pharo Pharo.image printVersion > [version] 4.0 #40620 > > $ time ../bin/pharo Pharo.image eval '42 factorial' > 1405006117752879898543142606244511569936384000000000 > > real 0m0.526s > user 0m0.434s > sys 0m0.045s > > But it is really hard to find the cause. > > > The good news is that the Pharo 7 minimal core is way faster > > $ time ./pharo ~/Downloads/Pharo7.0-core-32bit-b649ac6.image eval "42 > factorial" > 1405006117752879898543142606244511569936384000000000 > > real 0m0.262s > user 0m0.132s > sys 0m0.062s > > Which is good of course ! > > That being said, these lambda servers can only work well if they keep > instances alive for longer when there is enough traffic. > > Esteban A. Maringolo > > > 2017-06-27 13:05 GMT-03:00 Tim Mackinnon <tim@testit.works>: > > Hi - I am trying to run a pharo image in lambda (as an experiment) - > however > I get an error from Pharo about not being able to write to the changes > file? > > As I am just evaluating some code - I’m not really coding, so don’t need a > changes file - is there a command line option to not require it? > > Also, am I running pharo the most efficient way - I’m using eval on the > command line and referencing a class with a class method - but is this the > best way? > > Thanks, > > Tim > > "errorMessage": "Command failed: ./pharo Pharo.image eval \"Lambda > processJSON: > '{\"key3\":\"value3\",\"key2\":\"value2\",\"key1\":\"value1\"}'\"\n'Pharo > cannot write to the changes file named /var/task/Pharo.changes.\n\nPlease > check that you have write permission for this file.\n\nYou won''t be able > to > save this image correctly until you fix this.'\n\u001b[31mError: Can't find > the requested > origin\n\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError\n[ > self > cantFindOriginError ] in > UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ > self cantFindOriginError > ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: > or:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: > \nUnixResolver>>home\n[ > self home / '.config' ] in UnixResolver>>preferences in Block: [ self home > / > '.config' > ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: > or:\nUnixResolver>>preferences\nUnixResolver( > FileSystemResolver)>>resolve:\nSystemResolver(FileSystemResolver)>> > unknownOrigin:\nSystemResolver(FileSystemResolver)>>resolve:\ > nInteractiveResolver>>unknownOrigin:\n[ > self unknownOrigin: origin ] in InteractiveResolver>>resolve: in Block: [ > self unknownOrigin: origin > ]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\ > nInteractiveResolver>>resolve:\nFileLocator>>resolve\nFileLocator( > AbstractFileReference)>>exists\nGlobalIdentifierStonPersistence( > GlobalIdentifierPersistence)>>shouldCallPreviousPersistence\ > nGlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>> > ensure:\nGlobalIdentifier>>ensure\nGlobalIdentifier > class>>initializeUniqueInstance\nGlobalIdentifier > class>>uniqueInstance\nSystemSettingsPersistence > class>>resumeSystemSettings\n[ :persistence | persistence > resumeSystemSettings ] in PharoCommandLineHandler>>runPreferences in > Block: > [ :persistence | persistence resumeSystemSettings > ...etc...\nBlockClosure>>cull:\nSystemDictionary(Dictionary) > >>at:ifPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>> > runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLineHandler > class(CommandLineHandler class)>>activateWith:\n\u001b[0m", > "errorType": "Error", > "stackTrace": [ > "'Pharo cannot write to the changes file named > /var/task/Pharo.changes.", > "", > "Please check that you have write permission for this file.", > "", > "You won''t be able to save this image correctly until you fix this.'", > "\u001b[31mError: Can't find the requested origin", > "\u001b[0mUnixResolver(PlatformResolver)>>cantFindOriginError", > "[ self cantFindOriginError ] in > UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in Block: [ > self cantFindOriginError ]", > "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:", > "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:", > "UnixResolver>>home", > "[ self home / '.config' ] in UnixResolver>>preferences in Block: [ self > home / '.config' ]", > "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:or:", > "UnixResolver>>preferences", > "UnixResolver(FileSystemResolver)>>resolve:", > "SystemResolver(FileSystemResolver)>>unknownOrigin:", > "SystemResolver(FileSystemResolver)>>resolve:", > "InteractiveResolver>>unknownOrigin:", > "[ self unknownOrigin: origin ] in InteractiveResolver>>resolve: in > Block: [ self unknownOrigin: origin ]", > "IdentityDictionary(Dictionary)>>at:ifAbsent:", > "InteractiveResolver>>resolve:", > "FileLocator>>resolve", > "FileLocator(AbstractFileReference)>>exists", > > "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>> > shouldCallPreviousPersistence", > "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>ensure:", > "GlobalIdentifier>>ensure", > "GlobalIdentifier class>>initializeUniqueInstance", > "GlobalIdentifier class>>uniqueInstance", > "SystemSettingsPersistence class>>resumeSystemSettings", > "[ :persistence | persistence resumeSystemSettings ] in > PharoCommandLineHandler>>runPreferences in Block: [ :persistence | > persistence resumeSystemSettings ...etc...", > "BlockClosure>>cull:", > "SystemDictionary(Dictionary)>>at:ifPresent:", > "SmalltalkImage>>at:ifPresent:", > "PharoCommandLineHandler>>runPreferences", > "PharoCommandLineHandler>>activate", > "PharoCommandLineHandler class(CommandLineHandler > class)>>activateWith:", > "\u001b[0m", > "ChildProcess.exithandler (child_process.js:204:12)", > "emitTwo (events.js:106:13)", > "ChildProcess.emit (events.js:191:7)", > "maybeClose (internal/child_process.js:886:16)", > "Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)" > ] > } > > >