Wow that's very promising - how do I get that setup? I also believe for
lambda I need 64 bit as you have little control of the base image?
I haven't had a chance to try marshalling results back to Alexa yet -
but that's my goal.
Tim

Sent from my iPhone

> On 30 Jun 2017, at 15:43, Sven Van Caekenberghe <[email protected]> wrote:>
>
>> On 27 Jun 2017, at 21:15, Sven Van Caekenberghe <[email protected]> wrote:>>
>>
>>> On 27 Jun 2017, at 21:00, Esteban A. Maringolo
>>> <[email protected]> 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 <[email protected]>:
>>>> 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)>>cantFindOriginErr-
>>>> or\n[ self>>>> cantFindOriginError ] in
>>>> UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed: in
>>>> Block: [>>>> self cantFindOriginError
>>>> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:o-
>>>> r:\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:-
>>>> \nUnixResolver>>home\n[>>>> self home / '.config' ] in 
>>>> UnixResolver>>preferences in Block: [
>>>> self home />>>> '.config'
>>>> ]\nUnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:o-
>>>> r:\nUnixResolver>>preferences\nUnixResolver(FileSystemResolver)>>r-
>>>> esolve:\nSystemResolver(FileSystemResolver)>>unknownOrigin:\nSyste-
>>>> mResolver(FileSystemResolver)>>resolve:\nInteractiveResolver>>unkn-
>>>> ownOrigin:\n[>>>> self unknownOrigin: origin ] in 
>>>> InteractiveResolver>>resolve: in
>>>> Block: [>>>> self unknownOrigin: origin
>>>> ]\nIdentityDictionary(Dictionary)>>at:ifAbsent:\nInteractiveResolv-
>>>> er>>resolve:\nFileLocator>>resolve\nFileLocator(AbstractFileRefere-
>>>> nce)>>exists\nGlobalIdentifierStonPersistence(GlobalIdentifierPers-
>>>> istence)>>shouldCallPreviousPersistence\nGlobalIdentifierStonPersi-
>>>> stence(GlobalIdentifierPersistence)>>ensure:\nGlobalIdentifier>>en-
>>>> sure\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:i-
>>>> fPresent:\nSmalltalkImage>>at:ifPresent:\nPharoCommandLineHandler>-
>>>> >runPreferences\nPharoCommandLineHandler>>activate\nPharoCommandLi-
>>>> neHandler>>>> 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:o-
>>>>  r:",>>>>  
>>>> "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:",>>>>  
>>>> "UnixResolver>>home",
>>>>  "[ self home / '.config' ] in UnixResolver>>preferences in Block:
>>>>  [ self>>>> home / '.config' ]",
>>>>  "UnixResolver(PlatformResolver)>>directoryFromEnvVariableNamed:o-
>>>>  r:",>>>>  "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)>>sho-
>>>> uldCallPreviousPersistence",>>>>  
>>>> "GlobalIdentifierStonPersistence(GlobalIdentifierPersistence)>>en-
>>>>  sure:",>>>>  "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)">>>> ]
>>>> }
>>>>
>>>>
>>>
>>
>
>

Reply via email to